fix: Fix crash on invalid value input

This commit is contained in:
Myzel394 2023-11-20 08:36:33 +01:00
parent c96c547484
commit 2010d8ad94
No known key found for this signature in database
GPG Key ID: 50098FCA22080F0F
2 changed files with 18 additions and 12 deletions

View File

@ -79,11 +79,11 @@ fun BitrateTile(
val bitRate = text?.toIntOrNull() val bitRate = text?.toIntOrNull()
if (bitRate == null) { if (bitRate == null) {
ValidationResult.Invalid(notNumberLabel) return@InputTextField ValidationResult.Invalid(notNumberLabel)
} }
if (bitRate !in 1..320) { if (bitRate !in 1..320) {
ValidationResult.Invalid(notInRangeLabel) return@InputTextField ValidationResult.Invalid(notInRangeLabel)
} }
ValidationResult.Valid ValidationResult.Valid
@ -92,7 +92,9 @@ fun BitrateTile(
) )
), ),
) { result -> ) { result ->
val bitRate = result.getString("bitrate")?.toIntOrNull() ?: throw IllegalStateException("Bitrate is null") val bitRate = result.getString("bitrate")?.toIntOrNull() ?: throw IllegalStateException(
"Bitrate is null"
)
updateValue(bitRate * 1000) updateValue(bitRate * 1000)
} }

View File

@ -60,7 +60,8 @@ fun SamplingRateTile(
header = Header.Default( header = Header.Default(
title = stringResource(R.string.ui_settings_option_samplingRate_title), title = stringResource(R.string.ui_settings_option_samplingRate_title),
icon = IconSource( icon = IconSource(
painter = IconResource.fromImageVector(Icons.Default.RadioButtonChecked).asPainterResource(), painter = IconResource.fromImageVector(Icons.Default.RadioButtonChecked)
.asPainterResource(),
contentDescription = null, contentDescription = null,
) )
), ),
@ -79,11 +80,11 @@ fun SamplingRateTile(
val samplingRate = text?.toIntOrNull() val samplingRate = text?.toIntOrNull()
if (samplingRate == null) { if (samplingRate == null) {
ValidationResult.Invalid(notNumberLabel) return@InputTextField ValidationResult.Invalid(notNumberLabel)
} }
if (samplingRate!! <= 1000) { if (samplingRate <= 1000) {
ValidationResult.Invalid(mustBeGreaterThanLabel) return@InputTextField ValidationResult.Invalid(mustBeGreaterThanLabel)
} }
ValidationResult.Valid ValidationResult.Valid
@ -92,7 +93,8 @@ fun SamplingRateTile(
) )
), ),
) { result -> ) { result ->
val samplingRate = result.getString("samplingRate")?.toIntOrNull() ?: throw IllegalStateException("SamplingRate is null") val samplingRate = result.getString("samplingRate")?.toIntOrNull()
?: throw IllegalStateException("SamplingRate is null")
updateValue(samplingRate) updateValue(samplingRate)
} }
@ -115,7 +117,8 @@ fun SamplingRateTile(
shape = MaterialTheme.shapes.medium, shape = MaterialTheme.shapes.medium,
) { ) {
Text( Text(
(settings.audioRecorderSettings.samplingRate ?: stringResource(R.string.ui_settings_value_auto_label)).toString() (settings.audioRecorderSettings.samplingRate
?: stringResource(R.string.ui_settings_value_auto_label)).toString()
) )
} }
}, },
@ -125,7 +128,8 @@ fun SamplingRateTile(
onItemSelected = ::updateValue, onItemSelected = ::updateValue,
) { samplingRate -> ) { samplingRate ->
Text( Text(
(samplingRate ?: stringResource(R.string.ui_settings_value_auto_label)).toString() (samplingRate
?: stringResource(R.string.ui_settings_value_auto_label)).toString()
) )
} }
} }