From f131f40ba14d7f9dbfd31dbba92208a396d6e658 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Sun, 6 Aug 2023 14:44:14 +0200 Subject: [PATCH] fix: Improve formatDuration --- .../SettingsScreen/atoms/MaxDurationTile.kt | 8 ++------ .../app/myzel394/locationtest/ui/utils/formatters.kt | 11 +++++++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/app/myzel394/locationtest/ui/components/SettingsScreen/atoms/MaxDurationTile.kt b/app/src/main/java/app/myzel394/locationtest/ui/components/SettingsScreen/atoms/MaxDurationTile.kt index 388c3f6..adae98f 100644 --- a/app/src/main/java/app/myzel394/locationtest/ui/components/SettingsScreen/atoms/MaxDurationTile.kt +++ b/app/src/main/java/app/myzel394/locationtest/ui/components/SettingsScreen/atoms/MaxDurationTile.kt @@ -92,9 +92,7 @@ fun MaxDurationTile() { ), shape = MaterialTheme.shapes.medium, ) { - Text( - text = formatDuration(settings.audioRecorderSettings.maxDuration), - ) + Text(formatDuration(settings.audioRecorderSettings.maxDuration)) } }, extra = { @@ -102,9 +100,7 @@ fun MaxDurationTile() { items = AudioRecorderSettings.EXAMPLE_MAX_DURATIONS, onItemSelected = ::updateValue, ) {maxDuration -> - Text( - text = formatDuration(maxDuration), - ) + Text(formatDuration(maxDuration)) } } ) diff --git a/app/src/main/java/app/myzel394/locationtest/ui/utils/formatters.kt b/app/src/main/java/app/myzel394/locationtest/ui/utils/formatters.kt index b6f9c67..ff6b088 100644 --- a/app/src/main/java/app/myzel394/locationtest/ui/utils/formatters.kt +++ b/app/src/main/java/app/myzel394/locationtest/ui/utils/formatters.kt @@ -11,7 +11,7 @@ fun formatDuration( val hours = floor(totalSeconds / 3600.0).toInt() val minutes = floor(totalSeconds / 60.0).toInt() % 60 - val seconds = totalSeconds - (minutes * 60) + val seconds = totalSeconds - (minutes * 60) - (hours * 3600) if (formatFull) { return "" + @@ -29,5 +29,12 @@ fun formatDuration( return "00:${totalSeconds.toString().padStart(2, '0')}" } - return "${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}" + if (hours <= 0) { + return "${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}" + } + + return "" + + hours.toString().padStart(2, '0') + + ":" + minutes.toString().padStart(2, '0') + + ":" + seconds.toString().padStart(2, '0') }