diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.kt index 5b05e77c3..aca574494 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.kt @@ -123,6 +123,7 @@ class FrequencyChart : ScrollableChart { } override fun onDraw(canvas: Canvas) { + populateWithRandomData() super.onDraw(canvas) rect!![0f, 0f, nColumns * columnWidth] = columnHeight.toFloat() rect!!.offset(0f, internalPaddingTop.toFloat()) 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())