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 3b243ba6f..627a90a3f 100644 Binary files a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png and b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png differ 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 c6f70b9fd..84c876eea 100644 Binary files a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png and b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png differ diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java index a3c232cc7..dd5bd5525 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java @@ -181,6 +181,8 @@ public class HistoryEditorDialog extends AppCompatDialogFragment int color = PaletteUtils.getColor(getContext(), habit.getColor()); historyChart.setColor(color); historyChart.setCheckmarks(checkmarks); + historyChart.setNumerical(habit.isNumerical()); + historyChart.setTarget(habit.getTargetValue() / habit.getFrequency().getDenominator()); } } } diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java index 598246431..3a420c811 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java @@ -77,8 +77,6 @@ public class BarChart extends ScrollableChart @Nullable private List 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) } }