@@ -35,6 +35,8 @@ import org.fossify.commons.helpers.*
35
35
import java.text.SimpleDateFormat
36
36
import java.util.Calendar
37
37
import java.util.Locale
38
+ import kotlin.math.ceil
39
+ import kotlin.time.Duration.Companion.milliseconds
38
40
import kotlin.time.Duration.Companion.minutes
39
41
40
42
val Context .config: Config get() = Config .newInstance(applicationContext)
@@ -104,13 +106,25 @@ fun Context.scheduleNextAlarm(alarm: Alarm, showToast: Boolean) {
104
106
if (showToast) {
105
107
val now = Calendar .getInstance()
106
108
val triggerInMillis = triggerTimeMillis - now.timeInMillis
107
- showRemainingTimeMessage(( triggerInMillis / ( 1000 * 60 )).toInt() )
109
+ showRemainingTimeMessage(triggerInMillis)
108
110
}
109
111
}
110
112
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
+ )
114
128
}
115
129
116
130
fun Context.setupAlarmClock (alarm : Alarm , triggerTimeMillis : Long ) {
0 commit comments