diff options
Diffstat (limited to 'GymLog')
| -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()); +    } +} |