From eb057b51d3a94dee6ab0b261282f90ca71d6ddf3 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Wed, 24 Feb 2016 11:28:51 -0500 Subject: [PATCH] Show one hint per day --- .../uhabits/fragments/ListHabitsFragment.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java b/app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java index dcabe9f9f..9a9fcfc73 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java +++ b/app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java @@ -555,24 +555,23 @@ public class ListHabitsFragment extends Fragment private void showNextHint() { - int launchCount = DialogHelper.getLaunchCount(activity); - if(launchCount % HINT_INTERVAL == HINT_INTERVAL_OFFSET) - { - int lastHint = prefs.getInt("last_shown_hint", -1); - showHint(lastHint + 1); - } + Integer lastHintNumber = prefs.getInt("last_hint_number", -1); + Long lastHintTimestamp = prefs.getLong("last_hint_timestamp", -1); + if(DateHelper.getStartOfToday() > lastHintTimestamp) + showHint(lastHintNumber + 1); } - private void showHint(int number) + private void showHint(int hintNumber) { String[] hints = activity.getResources().getStringArray(R.array.hints); - if(number >= hints.length) return; + if(hintNumber >= hints.length) return; - prefs.edit().putInt("last_shown_hint", number).apply(); + prefs.edit().putInt("last_hint_number", hintNumber).apply(); + prefs.edit().putLong("last_hint_timestamp", DateHelper.getStartOfToday()).apply(); TextView tvContent = (TextView) llHint.findViewById(R.id.hintContent); - tvContent.setText(hints[number]); + tvContent.setText(hints[hintNumber]); llHint.setAlpha(0.0f); llHint.setVisibility(View.VISIBLE);