Skip to content

Commit 6297777

Browse files
committed
Avoid showing "0 minutes" as remaining time
1 parent b25ac87 commit 6297777

File tree

1 file changed

+18
-4
lines changed
  • app/src/main/kotlin/org/fossify/clock/extensions

1 file changed

+18
-4
lines changed

app/src/main/kotlin/org/fossify/clock/extensions/Context.kt

+18-4
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ import org.fossify.commons.helpers.*
3535
import java.text.SimpleDateFormat
3636
import java.util.Calendar
3737
import java.util.Locale
38+
import kotlin.math.ceil
39+
import kotlin.time.Duration.Companion.milliseconds
3840
import kotlin.time.Duration.Companion.minutes
3941

4042
val Context.config: Config get() = Config.newInstance(applicationContext)
@@ -104,13 +106,25 @@ fun Context.scheduleNextAlarm(alarm: Alarm, showToast: Boolean) {
104106
if (showToast) {
105107
val now = Calendar.getInstance()
106108
val triggerInMillis = triggerTimeMillis - now.timeInMillis
107-
showRemainingTimeMessage((triggerInMillis / (1000 * 60)).toInt())
109+
showRemainingTimeMessage(triggerInMillis)
108110
}
109111
}
110112

111-
fun Context.showRemainingTimeMessage(totalMinutes: Int) {
112-
val fullString = String.format(getString(org.fossify.commons.R.string.time_remaining), formatMinutesToTimeString(totalMinutes))
113-
toast(fullString, Toast.LENGTH_LONG)
113+
fun Context.showRemainingTimeMessage(triggerInMillis: Long) {
114+
val totalSeconds = triggerInMillis.milliseconds.inWholeSeconds.toInt()
115+
val remainingTime = if (totalSeconds >= MINUTE_SECONDS) {
116+
val roundedMinutes = ceil(totalSeconds / MINUTE_SECONDS.toFloat()).toInt()
117+
formatMinutesToTimeString(roundedMinutes)
118+
} else {
119+
formatSecondsToTimeString(totalSeconds)
120+
}
121+
122+
toast(
123+
msg = String.format(
124+
getString(org.fossify.commons.R.string.time_remaining), remainingTime
125+
),
126+
length = Toast.LENGTH_LONG
127+
)
114128
}
115129

116130
fun Context.setupAlarmClock(alarm: Alarm, triggerTimeMillis: Long) {

0 commit comments

Comments
 (0)