diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/BitrateTile.kt b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/BitrateTile.kt index b08c321..9618b39 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/BitrateTile.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/BitrateTile.kt @@ -2,6 +2,7 @@ package app.myzel394.alibi.ui.components.SettingsScreen.atoms import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Mic import androidx.compose.material.icons.filled.Tune import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults @@ -21,6 +22,8 @@ import app.myzel394.alibi.db.AppSettings import app.myzel394.alibi.db.AudioRecorderSettings import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette import app.myzel394.alibi.ui.components.atoms.SettingsTile +import app.myzel394.alibi.ui.utils.IconResource +import com.maxkeppeker.sheets.core.models.base.Header import com.maxkeppeker.sheets.core.models.base.IconSource import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState import com.maxkeppeler.sheets.input.InputDialog @@ -56,12 +59,18 @@ fun BitrateTile() { val notInRangeLabel = stringResource(R.string.form_error_value_notInRange, 1, 320) InputDialog( state = showDialog, + header = Header.Default( + title = stringResource(R.string.ui_settings_option_bitrate_title), + icon = IconSource( + painter = IconResource.fromImageVector(Icons.Default.Tune).asPainterResource(), + contentDescription = null, + ) + ), selection = InputSelection( input = listOf( InputTextField( header = InputHeader( title = stringResource(id = R.string.ui_settings_option_bitrate_explanation), - icon = IconSource(Icons.Default.Tune), ), keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Number, diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/IntervalDurationTile.kt b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/IntervalDurationTile.kt index 8167b60..3437568 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/IntervalDurationTile.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/IntervalDurationTile.kt @@ -2,6 +2,7 @@ package app.myzel394.alibi.ui.components.SettingsScreen.atoms import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Mic +import androidx.compose.material.icons.filled.Timer import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.ExperimentalMaterial3Api @@ -19,7 +20,10 @@ import app.myzel394.alibi.db.AppSettings import app.myzel394.alibi.db.AudioRecorderSettings import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette import app.myzel394.alibi.ui.components.atoms.SettingsTile +import app.myzel394.alibi.ui.utils.IconResource import app.myzel394.alibi.ui.utils.formatDuration +import com.maxkeppeker.sheets.core.models.base.Header +import com.maxkeppeker.sheets.core.models.base.IconSource import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState import com.maxkeppeler.sheets.duration.DurationDialog import com.maxkeppeler.sheets.duration.models.DurationConfig @@ -51,6 +55,13 @@ fun IntervalDurationTile() { DurationDialog( state = showDialog, + header = Header.Default( + title = stringResource(R.string.ui_settings_option_intervalDuration_title), + icon = IconSource( + painter = IconResource.fromImageVector(Icons.Default.Mic).asPainterResource(), + contentDescription = null, + ) + ), selection = DurationSelection { newTimeInSeconds -> updateValue(newTimeInSeconds * 1000L) }, diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/MaxDurationTile.kt b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/MaxDurationTile.kt index 8d9b021..bdf127b 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/MaxDurationTile.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/MaxDurationTile.kt @@ -1,6 +1,7 @@ package app.myzel394.alibi.ui.components.SettingsScreen.atoms import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Memory import androidx.compose.material.icons.filled.Timer import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults @@ -19,7 +20,10 @@ import app.myzel394.alibi.db.AppSettings import app.myzel394.alibi.db.AudioRecorderSettings import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette import app.myzel394.alibi.ui.components.atoms.SettingsTile +import app.myzel394.alibi.ui.utils.IconResource import app.myzel394.alibi.ui.utils.formatDuration +import com.maxkeppeker.sheets.core.models.base.Header +import com.maxkeppeker.sheets.core.models.base.IconSource import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState import com.maxkeppeler.sheets.duration.DurationDialog import com.maxkeppeler.sheets.duration.models.DurationConfig @@ -50,6 +54,13 @@ fun MaxDurationTile() { DurationDialog( state = showDialog, + header = Header.Default( + title = stringResource(R.string.ui_settings_option_maxDuration_title), + icon = IconSource( + painter = IconResource.fromImageVector(Icons.Default.Timer).asPainterResource(), + contentDescription = null, + ) + ), selection = DurationSelection { newTimeInSeconds -> updateValue(newTimeInSeconds * 1000L) }, diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/SamplingRateTile.kt b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/SamplingRateTile.kt index 92739e7..e3eeb3e 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/SamplingRateTile.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/SettingsScreen/atoms/SamplingRateTile.kt @@ -3,6 +3,7 @@ package app.myzel394.alibi.ui.components.SettingsScreen.atoms import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.RadioButtonChecked +import androidx.compose.material.icons.filled.Tune import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.ExperimentalMaterial3Api @@ -21,6 +22,8 @@ import app.myzel394.alibi.db.AppSettings import app.myzel394.alibi.db.AudioRecorderSettings import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette import app.myzel394.alibi.ui.components.atoms.SettingsTile +import app.myzel394.alibi.ui.utils.IconResource +import com.maxkeppeker.sheets.core.models.base.Header import com.maxkeppeker.sheets.core.models.base.IconSource import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState import com.maxkeppeler.sheets.input.InputDialog @@ -56,12 +59,18 @@ fun SamplingRateTile() { val mustBeGreaterThanLabel = stringResource(R.string.form_error_value_mustBeGreaterThan, 1000) InputDialog( state = showDialog, + header = Header.Default( + title = stringResource(R.string.ui_settings_option_samplingRate_title), + icon = IconSource( + painter = IconResource.fromImageVector(Icons.Default.RadioButtonChecked).asPainterResource(), + contentDescription = null, + ) + ), selection = InputSelection( input = listOf( InputTextField( header = InputHeader( title = stringResource(R.string.ui_settings_option_samplingRate_explanation), - icon = IconSource(Icons.Default.RadioButtonChecked), ), keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Number,