@@ -304,32 +304,13 @@ class MainActivity : SimpleActivity() {
304304 )
305305 return
306306 }
307- val minutes = getString(R .string.minutes_raw)
308- val hour = resources.getQuantityString(R .plurals.hours, 1 , 1 )
309- val minute = resources.getQuantityString(R .plurals.minutes, 1 , 1 )
310-
311- val items = arrayListOf (
312- RadioItem (1 * 60 , " 1 $minute " ),
313- RadioItem (2 * 60 , " 2 $minutes " ),
314- RadioItem (5 * 60 , " 5 $minutes " ),
315- RadioItem (10 * 60 , " 10 $minutes " ),
316- RadioItem (20 * 60 , " 20 $minutes " ),
317- RadioItem (30 * 60 , " 30 $minutes " ),
318- RadioItem (60 * 60 , hour)
319- )
307+
308+ val items = ArrayList (listOf (10 , 30 , 60 , 5 * 60 , 10 * 60 , 30 * 60 ).map {
309+ RadioItem (it, secondsToString(it))
310+ })
320311
321312 if (items.none { it.id == config.lastSleepTimerSeconds }) {
322- val lastSleepTimerMinutes = config.lastSleepTimerSeconds / 60
323- val lastSleepTimerSeconds = config.lastSleepTimerSeconds % 60
324- val parts = mutableListOf<String >()
325- if (lastSleepTimerMinutes != 0 ) {
326- parts.add(resources.getQuantityString(R .plurals.minutes, lastSleepTimerMinutes, lastSleepTimerMinutes))
327- }
328- if (lastSleepTimerSeconds != 0 ) {
329- parts.add(resources.getQuantityString(R .plurals.seconds, lastSleepTimerSeconds, lastSleepTimerSeconds))
330- }
331- val text = parts.joinToString(separator = " " )
332- items.add(RadioItem (config.lastSleepTimerSeconds, text))
313+ items.add(RadioItem (config.lastSleepTimerSeconds, secondsToString(config.lastSleepTimerSeconds)))
333314 }
334315
335316 items.sortBy { it.id }
@@ -348,6 +329,23 @@ class MainActivity : SimpleActivity() {
348329 }
349330 }
350331
332+ private fun secondsToString (seconds : Int ): String {
333+ val finalHours = seconds / 3600
334+ val finalMinutes = (seconds / 60 ) % 60
335+ val finalSeconds = seconds % 60
336+ val parts = mutableListOf<String >()
337+ if (finalHours != 0 ) {
338+ parts.add(resources.getQuantityString(R .plurals.hours, finalHours, finalHours))
339+ }
340+ if (finalMinutes != 0 ) {
341+ parts.add(resources.getQuantityString(R .plurals.minutes, finalMinutes, finalMinutes))
342+ }
343+ if (finalSeconds != 0 ) {
344+ parts.add(resources.getQuantityString(R .plurals.seconds, finalSeconds, finalSeconds))
345+ }
346+ return parts.joinToString(separator = " " )
347+ }
348+
351349 private fun pickedSleepTimer (seconds : Int ) {
352350 config.lastSleepTimerSeconds = seconds
353351 config.sleepInTS = System .currentTimeMillis() + seconds * 1000
0 commit comments