From dfa2cce148dc7bc3bbc81367502bc698e55a3bbd Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Wed, 2 Aug 2023 21:50:11 +0200 Subject: [PATCH] ui: Improve SettingsScreen batch setting --- .../main/java/app/myzel394/locationtest/db/AppSettings.kt | 4 ++-- .../myzel394/locationtest/ui/screens/SettingsScreen.kt | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/app/myzel394/locationtest/db/AppSettings.kt b/app/src/main/java/app/myzel394/locationtest/db/AppSettings.kt index 0ac90d6..642dedd 100644 --- a/app/src/main/java/app/myzel394/locationtest/db/AppSettings.kt +++ b/app/src/main/java/app/myzel394/locationtest/db/AppSettings.kt @@ -60,8 +60,8 @@ data class AudioRecorderSettings( } fun setIntervalDuration(duration: Long): AudioRecorderSettings { - if (duration < 10 * 1000L) { - throw Exception("Interval duration must be at least 10 seconds") + if (duration < 30 * 1000L || duration > 60 * 60 * 1000L) { + throw Exception("Interval duration must be between 30 seconds and 1 hour") } return copy(intervalDuration = duration) diff --git a/app/src/main/java/app/myzel394/locationtest/ui/screens/SettingsScreen.kt b/app/src/main/java/app/myzel394/locationtest/ui/screens/SettingsScreen.kt index 23d88ea..d43a64d 100644 --- a/app/src/main/java/app/myzel394/locationtest/ui/screens/SettingsScreen.kt +++ b/app/src/main/java/app/myzel394/locationtest/ui/screens/SettingsScreen.kt @@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.widthIn @@ -50,6 +51,7 @@ import app.myzel394.locationtest.dataStore import app.myzel394.locationtest.db.AppSettings import app.myzel394.locationtest.ui.components.GlobalSwitch import app.myzel394.locationtest.ui.utils.formatDuration +import com.maxkeppeker.sheets.core.icons.LibIcons import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState import com.maxkeppeler.sheets.duration.DurationDialog import com.maxkeppeler.sheets.duration.models.DurationConfig @@ -123,7 +125,7 @@ fun SettingsScreen( text = "Batch duration", style = MaterialTheme.typography.labelLarge, ) - Spacer(modifier = Modifier.width(8.dp)) + Spacer(modifier = Modifier.height(4.dp)) Text( text = "Record a single batch for this duration. Alibi records multiple batches and deletes the oldest one. When exporting the audio, all batches will be merged together", style = MaterialTheme.typography.bodySmall, @@ -145,8 +147,10 @@ fun SettingsScreen( } }, config = DurationConfig( - timeFormat = DurationFormat.HH_MM_SS, + timeFormat = DurationFormat.MM_SS, currentTime = settings.audioRecorderSettings.intervalDuration / 1000, + minTime = 10, + maxTime = 60 * 60, ) ) Button(