From 652ed50d093d3bbbef56e3109b0a1ac137b0b180 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Tue, 16 Jun 2020 20:49:14 -0700 Subject: [PATCH] Reset habit strength graph scroll location when switching scale - Create ScrollableChart.reset() to set x coordinate of scroller - Call reset() from doInBackground() in ScoreCard to reset scroll location --- .../uhabits/activities/common/views/ScrollableChart.java | 7 +++++++ .../uhabits/activities/habits/show/views/ScoreCard.java | 1 + 2 files changed, 8 insertions(+) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java index ae880c264..fe0b68369 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java @@ -217,6 +217,13 @@ public abstract class ScrollableChart extends View scrollController = new ScrollController() {}; } + public void reset() + { + scroller.setFinalX(0); + scroller.computeScrollOffset(); + updateDataOffset(); + } + private void updateDataOffset() { int newDataOffset = scroller.getCurrX() / scrollerBucketSize; diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java index c6ded0903..fc3bbf3c9 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java @@ -153,6 +153,7 @@ public class ScoreCard extends HabitCard else scores = scoreList.groupBy(getTruncateField(bucketSize), firstWeekday); chart.setScores(scores); + chart.reset(); chart.setBucketSize(bucketSize); }