Solve to Issue#2229
This commit is contained in:
2025-12-13 09:44:12 -06:00
committed by GitHub
2 changed files with 14 additions and 1 deletions

View File

@@ -31,6 +31,8 @@ import android.widget.Scroller
import kotlin.math.abs import kotlin.math.abs
import kotlin.math.max import kotlin.math.max
import kotlin.math.min 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 { abstract class ScrollableChart : View, GestureDetector.OnGestureListener, AnimatorUpdateListener {
var dataOffset = 0 var dataOffset = 0
@@ -41,7 +43,7 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
private lateinit var scroller: Scroller private lateinit var scroller: Scroller
private lateinit var scrollAnimator: ValueAnimator private lateinit var scrollAnimator: ValueAnimator
private lateinit var scrollController: ScrollController private lateinit var scrollController: ScrollController
private var maxDataOffset = 10000 private var maxDataOffset = getMonthsSince1970(getStartOfTodayCalendar())
constructor(context: Context?) : super(context) { constructor(context: Context?) : super(context) {
init(context) init(context)

View File

@@ -198,6 +198,17 @@ abstract class DateUtils {
return freq 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 @JvmStatic
fun getToday(): Timestamp = Timestamp(getStartOfToday()) fun getToday(): Timestamp = Timestamp(getStartOfToday())