diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.kt index 81cccbb84..370800913 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.kt @@ -31,6 +31,8 @@ import android.widget.Scroller import kotlin.math.abs import kotlin.math.max import kotlin.math.min +import org.isoron.uhabits.core.utils.DateUtils.Companion.getMonthsSince1970 +import org.isoron.uhabits.core.utils.DateUtils.Companion.getStartOfTodayCalendar abstract class ScrollableChart : View, GestureDetector.OnGestureListener, AnimatorUpdateListener { var dataOffset = 0 @@ -41,7 +43,7 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat private lateinit var scroller: Scroller private lateinit var scrollAnimator: ValueAnimator private lateinit var scrollController: ScrollController - private var maxDataOffset = 10000 + private var maxDataOffset = getMonthsSince1970(getStartOfTodayCalendar()) constructor(context: Context?) : super(context) { init(context) diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/utils/DateUtils.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/utils/DateUtils.kt index 0780989d4..e2552a141 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/utils/DateUtils.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/utils/DateUtils.kt @@ -198,6 +198,17 @@ abstract class DateUtils { return freq } + @JvmStatic + fun getMonthsSince1970(today: GregorianCalendar): Int { + val start = GregorianCalendar(TimeZone.getTimeZone("GMT")) + start.set(1970, Calendar.JANUARY, 1, 0, 0, 0) + start.set(Calendar.MILLISECOND, 0) + + val years = today.get(Calendar.YEAR) - start.get(Calendar.YEAR) - 2 + val months = today.get(Calendar.MONTH) - start.get(Calendar.MONTH) + + return years * 12 + months + } @JvmStatic fun getToday(): Timestamp = Timestamp(getStartOfToday())