diff options
| author | mikem <mikem@oliodevices.com> | 2014-07-21 15:12:30 -0700 |
|---|---|---|
| committer | mikem <mikem@oliodevices.com> | 2014-07-21 15:12:30 -0700 |
| commit | b7f7d031d534e9bc600746478c67ce6b68d6ad02 (patch) | |
| tree | c4acc480e90a14a40cd8baf27d3288e746d544bf /GymLog/src/main/java/com | |
| parent | 99647fa29ba92546dbad1bc8f742322f7161266a (diff) | |
| download | GymLog-b7f7d031d534e9bc600746478c67ce6b68d6ad02.tar.xz GymLog-b7f7d031d534e9bc600746478c67ce6b68d6ad02.zip | |
Fixing a bug where the values for reps/weight would drop to 0 when making the first edit of the activity for that week. Now it starts properly at last week's value.
Diffstat (limited to 'GymLog/src/main/java/com')
| -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()); + } +} |