I'm Running one count down timer for 15 minutes which is equals to 100%,
Когда я в приложении, у меня все нормально работает.
Что я делаю, так это когда я закрываю приложение, я экономлю время запуска и открываю приложение, принимая текущее время и вычисляя оставшееся время.
Я даю оставшееся время методу ontick перед запуском таймера обратного отсчета. на первом тике он показывается правильно, но на следующем тике он начинается с 15 минут. Может кто-нибудь сказать, почему это происходит
countDownTimer = object : CountDownTimer(900000, 1000) {
override fun onTick(millisUntilFinished: Long) {
activity?.runOnUiThread {
val minutes = TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)
val seconds = TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))
val progress = 100 - ((((minutes / 15f) + (seconds / 900f)) * 100).toInt())
if (progress == 100) {
countDownTimer.cancel()
batteryHealthView.hideProgress()
}
saveData(progress, percentageString)
}
}
override fun onFinish() {
activity?.runOnUiThread {
countDownTimer.cancel()
}
}
}
if (timeLeft!! > 0) {
countDownTimer.onTick(timeLeft)
}
countDownTimer.start()