From d14fbbd1300a8a3eb7adb39612a3ed0a0f85b6b4 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sat, 26 Mar 2016 08:49:02 -0400 Subject: [PATCH] Make streak colors consistent --- .../isoron/uhabits/views/HabitStreakView.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java index 36045454b..95083a564 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java @@ -218,14 +218,7 @@ public class HabitStreakView extends View implements HabitDataView float gap = (width - barWidth) / 2; float paddingTopBottom = baseSize * 0.05f; - float croppedPercentage; - if (maxLength == minLength) - croppedPercentage = 1.0f; - else - croppedPercentage = (float) (streak.length - minLength) / (maxLength - minLength); - - int c = (int) (croppedPercentage * 3); - paint.setColor(colors[(c)]); + paint.setColor(percentageToColor(percentage)); canvas.drawRect(rect.left + gap, rect.top + paddingTopBottom, rect.right - gap, rect.bottom - paddingTopBottom, paint); @@ -250,6 +243,14 @@ public class HabitStreakView extends View implements HabitDataView } } + private int percentageToColor(float percentage) + { + if(percentage >= 1.0f) return colors[3]; + if(percentage >= 0.8f) return colors[2]; + if(percentage >= 0.5f) return colors[1]; + return colors[0]; + } + public void setIsBackgroundTransparent(boolean isBackgroundTransparent) { this.isBackgroundTransparent = isBackgroundTransparent;