diff options
Diffstat (limited to 'GymLog/src')
| -rw-r--r-- | GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java | 19 | ||||
| -rw-r--r-- | GymLog/src/main/java/com/mikemiller/gymlog/Util.java | 35 |
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()); + } +} |