From 8a895b2d206b2b71f8cd1e2ccd65f02e4c9297b4 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 12 Sep 2020 16:01:40 -0500 Subject: [PATCH] Fix colors in BarChart and HistoryChard --- .../views-v26/common/BarChart/render.png | Bin 14396 -> 16300 bytes .../common/BarChart/renderDifferentSize.png | Bin 9719 -> 10846 bytes .../common/dialogs/HistoryEditorDialog.java | 2 ++ .../activities/common/views/BarChart.java | 13 +++++++++---- .../activities/common/views/HistoryChart.java | 11 ++++++----- .../habits/list/views/HabitCardListView.kt | 2 +- .../activities/habits/show/views/BarCard.java | 2 +- .../habits/show/views/HistoryCard.java | 2 +- .../isoron/uhabits/widgets/HistoryWidget.kt | 2 ++ 9 files changed, 22 insertions(+), 12 deletions(-) diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png index 3b243ba6f53468b91f409126e1aecbf12c3a281a..627a90a3f163ab3c12e06dd031ffa3f69098fb2a 100644 GIT binary patch literal 16300 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 literal 14396 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 diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png index c6f70b9fddb8bfad7c98e2724e35c3e92eb75ebb..84c876eea5524b46db3ae2afea0b1409545fe110 100644 GIT binary patch literal 10846 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 Bbguva literal 9719 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 checkmarks; - private int primaryColor; - private int bucketSize = 7; private int backgroundColor; @@ -99,6 +97,10 @@ public class BarChart extends ScrollableChart private double target; + private int primaryColor; + + private int darkerPrimaryColor; + public BarChart(Context context) { super(context); @@ -148,7 +150,10 @@ public class BarChart extends ScrollableChart public void setColor(int primaryColor) { + StyledResources res = new StyledResources(getContext()); + int backgroundColor = res.getColor(R.attr.cardBgColor); this.primaryColor = primaryColor; + this.darkerPrimaryColor = ColorUtils.mixColors(primaryColor, backgroundColor, 0.6f); postInvalidate(); } @@ -271,7 +276,7 @@ public class BarChart extends ScrollableChart float margin = baseSize * 0.225f; float round = dpToPixels(getContext(), 2); - int color = textColor; + int color = darkerPrimaryColor; if (value / 1000 >= target) color = primaryColor; rect.inset(-margin, 0); @@ -364,7 +369,7 @@ public class BarChart extends ScrollableChart { if (value == 0) return; - int activeColor = textColor; + int activeColor = darkerPrimaryColor; if (value / 1000 >= target) activeColor = primaryColor; diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java index 5644343ee..611271cbd 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java @@ -44,7 +44,7 @@ public class HistoryChart extends ScrollableChart { private int[] checkmarks; - private int target; + private double target; private Paint pSquareBg, pSquareFg, pTextHeader; @@ -202,6 +202,7 @@ public class HistoryChart extends ScrollableChart public void setNumerical(boolean numerical) { isNumerical = numerical; + postInvalidate(); } public void setIsBackgroundTransparent(boolean isBackgroundTransparent) @@ -215,7 +216,7 @@ public class HistoryChart extends ScrollableChart this.isEditable = isEditable; } - public void setTarget(int target) + public void setTarget(double target) { this.target = target; postInvalidate(); @@ -385,14 +386,14 @@ public class HistoryChart extends ScrollableChart pSquareBg.setColor(colors[0]); pSquareFg.setColor(textColors[1]); } - else if ((isNumerical && checkmark < target) || checkmark != YES_MANUAL) + else if ((isNumerical && (checkmark / 1000f >= target) || (!isNumerical && checkmark == YES_MANUAL))) { - pSquareBg.setColor(colors[1]); + pSquareBg.setColor(colors[2]); pSquareFg.setColor(textColors[2]); } else { - pSquareBg.setColor(colors[2]); + pSquareBg.setColor(colors[1]); pSquareFg.setColor(textColors[2]); } } diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt index 259d1f14a..02f1d6421 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt @@ -79,7 +79,7 @@ class HabitCardListView( cardView.dataOffset = dataOffset cardView.score = score cardView.unit = habit.unit - cardView.threshold = habit.targetValue + cardView.threshold = habit.targetValue / habit.frequency.denominator val detector = GestureDetector(context, CardViewGestureDetector(holder)) cardView.setOnTouchListener { _, ev -> diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java index 6b5dfe394..621286665 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java @@ -149,7 +149,7 @@ public class BarCard extends HabitCard if (habit.isNumerical()) { boolSpinner.setVisibility(GONE); - chart.setTarget(habit.getTargetValue() * bucketSize); + chart.setTarget(habit.getTargetValue() / habit.getFrequency().getDenominator() * bucketSize); } else { diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java index 7e1f4948b..82110d410 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java @@ -132,8 +132,8 @@ public class HistoryCard extends HabitCard chart.setColor(color); if(habit.isNumerical()) { - chart.setTarget((int) (habit.getTargetValue() * 1000)); chart.setNumerical(true); + chart.setTarget(habit.getTargetValue() / habit.getFrequency().getDenominator()); } } } diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt index 9cec78d4e..a1abb02b2 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt @@ -46,6 +46,8 @@ class HistoryWidget( setFirstWeekday(firstWeekday) setColor(PaletteUtils.getColor(context, habit.color)) setCheckmarks(habit.checkmarks.allValues) + setNumerical(habit.isNumerical) + setTarget(habit.targetValue / habit.frequency.denominator) } }