fix(converter): Update output after conversion

This commit is contained in:
Myzel394 2024-05-02 23:09:29 +02:00
parent 1af4e97637
commit c606328587
No known key found for this signature in database
GPG Key ID: DEC4AAB876F73185
2 changed files with 8 additions and 3 deletions

View File

@ -342,7 +342,9 @@ class UnitsRepositoryImpl @Inject constructor(
val conversion = unitFrom.convert(unitTo, value) val conversion = unitFrom.convert(unitTo, value)
ConverterResult.NumberBase(conversion) ConverterResult.NumberBase(conversion)
} catch (e: Exception) { } catch (error: Exception) {
Log.e("UnitsRepositoryImpl", "Failed to convert number base $unitFromId -> $unitToId: $error")
error.printStackTrace()
ConverterResult.Error.ConversionError ConverterResult.Error.ConversionError
} }
} }

View File

@ -23,6 +23,7 @@ import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import app.myzel394.numberhub.core.base.OutputFormat import app.myzel394.numberhub.core.base.OutputFormat
import app.myzel394.numberhub.core.base.Token
import app.myzel394.numberhub.core.ui.common.textfield.getTextField import app.myzel394.numberhub.core.ui.common.textfield.getTextField
import app.myzel394.numberhub.data.common.combine import app.myzel394.numberhub.data.common.combine
import app.myzel394.numberhub.data.common.stateIn import app.myzel394.numberhub.data.common.stateIn
@ -175,11 +176,13 @@ internal class ConverterViewModel @Inject constructor(
fun convertNumberBase() { fun convertNumberBase() {
conversionJob?.cancel() conversionJob?.cancel()
conversionJob = viewModelScope.launch { conversionJob = viewModelScope.launch {
unitsRepo.convertNumberBase( val result = unitsRepo.convertNumberBase(
unitFromId = unitFromId.value ?: return@launch, unitFromId = unitFromId.value ?: return@launch,
unitToId = unitToId.value ?: return@launch, unitToId = unitToId.value ?: return@launch,
value = input1.value.text, value = input1.value.text.ifEmpty { Token.Digit._0 }
) )
output.update { result }
} }
} }