From fd066c2fe3ee90cafee7ec2e315b2a14e78c8b26 Mon Sep 17 00:00:00 2001 From: mikem Date: Mon, 27 Oct 2014 11:16:01 -0700 Subject: The previous week's values now search back in time until they find a value so if I skip a week (...or month) it'll start me at the last week I actually recorded a value. --- .../com/mikemiller/gymlog/ActivityFragment.java | 25 +++++++++++++++++----- .../java/com/mikemiller/gymlog/MainActivity.java | 1 + 2 files changed, 21 insertions(+), 5 deletions(-) (limited to 'GymLog/src') diff --git a/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java b/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java index 249db8c..44dffa8 100644 --- a/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java +++ b/GymLog/src/main/java/com/mikemiller/gymlog/ActivityFragment.java @@ -4,6 +4,7 @@ import android.app.Fragment; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Color; import android.os.Bundle; import android.os.Environment; import android.util.Log; @@ -175,7 +176,7 @@ public class ActivityFragment extends Fragment { if (mStats.containsKey(key)) { return new ActivityStats(mStats.get(key)); } else { - return new ActivityStats(0, 0); + return new ActivityStats(-5, -5); } } private ActivityStats getActivityStats() { @@ -184,22 +185,26 @@ public class ActivityFragment extends Fragment { } private ActivityStats getLastActivityStats() { Calendar c = Calendar.getInstance(); - c.add(Calendar.DAY_OF_MONTH, -7); // subtract a week - return getActivityStats(c); + ActivityStats lastActivityStats = new ActivityStats(-5, -5); + while(lastActivityStats.reps < 0 || lastActivityStats.weight < 0) { + c.add(Calendar.DAY_OF_MONTH, -7); // subtract a week + lastActivityStats = getActivityStats(c); + } + return lastActivityStats; } private void setActivityStats(ActivityStats stats) { mStats.put(String.valueOf(Util.getMostRecentMonday().getTimeInMillis()), stats.toString()); refreshButton(); } public int getWeight() { - if (getActivityStats().weight == 0) { + if (getActivityStats().weight == -5) { return getLastWeight(); } return getActivityStats().weight; } public int getReps() { - if (getActivityStats().reps == 0) { + if (getActivityStats().reps == -5) { return getLastReps(); } @@ -322,6 +327,16 @@ public class ActivityFragment extends Fragment { // properties.setProperty("reps", String.valueOf(getReps())); properties.putAll(mStats); + if (getWeight() == 0 || getReps() == 0) { + Log.d("writing", "0"); + mSummaryButton.setTextColor(Color.RED); + } else if (getWeight() == -5 || getReps() == -5) { + Log.d("writing", "-5"); + mSummaryButton.setTextColor(Color.MAGENTA); + } else { + mSummaryButton.setTextColor(getResources().getColor(android.R.color.holo_blue_dark)); + } + try { FileOutputStream os = new FileOutputStream(getSaveFile()); properties.store(os, null); diff --git a/GymLog/src/main/java/com/mikemiller/gymlog/MainActivity.java b/GymLog/src/main/java/com/mikemiller/gymlog/MainActivity.java index 4a78fd6..0706bd7 100644 --- a/GymLog/src/main/java/com/mikemiller/gymlog/MainActivity.java +++ b/GymLog/src/main/java/com/mikemiller/gymlog/MainActivity.java @@ -55,6 +55,7 @@ public class MainActivity extends FragmentActivity { new Activity("Pendlay Rows", 2, 4, 6, 10, 1), new Activity("Assisted Chin-ups", 3, 4, 6, 10, 1) }); put(mWednesday, new Activity[]{ + new Activity("Treadmill", 1, 0, 20, 10, 1), new Activity("Flat Barbell Bench Press", 3, 6, 10, 10, 1), new Activity("Incline Barbell Bench Press", 2, 8, 12, 10, 1), new Activity("Barbell Curls", 3, 0, 8, 0, 0)}); -- cgit v1.2.3-70-g09d2