summaryrefslogtreecommitdiff
path: root/GymLog/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'GymLog/src/main/java')
-rw-r--r--GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java19
-rw-r--r--GymLog/src/main/java/com/mikemiller/gymlog/Util.java35
2 files changed, 51 insertions, 3 deletions
diff --git a/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java b/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java
index 748f844..249db8c 100644
--- a/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java
+++ b/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java
@@ -192,9 +192,17 @@ public class ActivityFragment extends Fragment {
refreshButton();
}
public int getWeight() {
+ if (getActivityStats().weight == 0) {
+ return getLastWeight();
+ }
+
return getActivityStats().weight;
}
public int getReps() {
+ if (getActivityStats().reps == 0) {
+ return getLastReps();
+ }
+
return getActivityStats().reps;
}
private int getLastWeight() {
@@ -222,10 +230,15 @@ public class ActivityFragment extends Fragment {
getActivity().sendBroadcast(new Intent(STAT_UPDATED));
}
+ private boolean refreshingButton = false;
private void refreshButton() {
- int weight = getWeight() == 0 ? getLastWeight() : getWeight();
- int reps = getReps() == 0 ? getLastReps() : getReps();
- mSummaryButton.setText(mActivity.getSummary(weight, reps, getLastWeight(), getLastReps()));
+ if (!refreshingButton && mSummaryButton != null) {
+ refreshingButton = true;
+ int weight = getWeight();
+ int reps = getReps();
+ mSummaryButton.setText(mActivity.getSummary(weight, reps, getLastWeight(), getLastReps()));
+ refreshingButton = false;
+ }
}
diff --git a/GymLog/src/main/java/com/mikemiller/gymlog/Util.java b/GymLog/src/main/java/com/mikemiller/gymlog/Util.java
new file mode 100644
index 0000000..4818895
--- /dev/null
+++ b/GymLog/src/main/java/com/mikemiller/gymlog/Util.java
@@ -0,0 +1,35 @@
+package com.mikemiller.gymlog;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+
+/**
+ * Created by Mike on 7/5/2014. COPYRIGHT OLIO.
+ */
+public class Util {
+ public static Calendar getMostRecentMondayFrom(long dateInMillis) {
+ Calendar referenceDay = new GregorianCalendar();
+ referenceDay.setFirstDayOfWeek(Calendar.MONDAY);
+ referenceDay.setTimeInMillis(dateInMillis);
+
+ Calendar calendar = new GregorianCalendar();
+ // Clear the calendar since the default is the current time
+ calendar.clear();
+ // Directly set year and week of year
+ calendar.setFirstDayOfWeek(Calendar.MONDAY);
+ calendar.set(Calendar.YEAR, referenceDay.get(Calendar.YEAR));
+ calendar.set(Calendar.WEEK_OF_YEAR, referenceDay.get(Calendar.WEEK_OF_YEAR));
+ // Start date for the week
+ //Date startDate = calendar.getTime();
+
+ //c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // Move the date to the previous Monday
+
+ return calendar;
+ }
+
+ public static Calendar getMostRecentMonday() {
+ return getMostRecentMondayFrom(Calendar.getInstance().getTimeInMillis());
+ }
+}