From 87255ceb253dffa444f52619fbb4043cc55db225 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Thu, 7 Apr 2016 17:02:02 -0400 Subject: [PATCH] RingView: invalidate after updating percentage and color Fixes #79 --- .../org/isoron/uhabits/fragments/ShowHabitFragment.java | 9 +++++++-- app/src/main/java/org/isoron/uhabits/views/RingView.java | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java b/app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java index 8ebbfb40a..1afb5dabd 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java +++ b/app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java @@ -159,9 +159,12 @@ public class ShowHabitFragment extends Fragment if(habit == null) return; if(view == null) return; + float todayValue = (float) habit.scores.getTodayValue(); + float percentage = todayValue / Score.MAX_VALUE; + RingView scoreRing = (RingView) view.findViewById(R.id.scoreRing); scoreRing.setColor(habit.color); - scoreRing.setPercentage((float) habit.scores.getTodayValue() / Score.MAX_VALUE); + scoreRing.setPercentage(percentage); } private void updateHeaders(View view) @@ -238,11 +241,12 @@ public class ShowHabitFragment extends Fragment { new BaseTask() { + float percentage; + @Override protected void doInBackground() { if(dataViews == null) return; - updateScoreRing(getView()); int count = 0; for(HabitDataView view : dataViews) @@ -255,6 +259,7 @@ public class ShowHabitFragment extends Fragment @Override protected void onProgressUpdate(Integer... values) { + updateScoreRing(getView()); if(dataViews == null) return; dataViews.get(values[0]).postInvalidate(); } diff --git a/app/src/main/java/org/isoron/uhabits/views/RingView.java b/app/src/main/java/org/isoron/uhabits/views/RingView.java index 7007d9924..0d63ff958 100644 --- a/app/src/main/java/org/isoron/uhabits/views/RingView.java +++ b/app/src/main/java/org/isoron/uhabits/views/RingView.java @@ -71,6 +71,7 @@ public class RingView extends View public void setColor(int color) { this.color = color; + postInvalidate(); } public void setMaxDiameter(float maxDiameter) @@ -86,6 +87,7 @@ public class RingView extends View public void setPercentage(float percentage) { this.percentage = percentage; + postInvalidate(); } private void init()