diff --git a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/ConverterViewModel.kt b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/ConverterViewModel.kt index 85265bc0..058ebe6b 100644 --- a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/ConverterViewModel.kt +++ b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/ConverterViewModel.kt @@ -185,6 +185,7 @@ internal class ConverterViewModel @Inject constructor( input = calculation?.toPlainString() ?: input.text, scale = prefs.digitsPrecision, outputFormat = prefs.outputFormat, + formatterSymbols = AllFormatterSymbols.getById(prefs.separator) ) } .onEach { diff --git a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideScreen.kt b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideScreen.kt index 9ef3d1de..f4a0fb4d 100644 --- a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideScreen.kt +++ b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideScreen.kt @@ -35,6 +35,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.sadellie.unitto.core.base.R import com.sadellie.unitto.core.ui.common.UnittoSearchBar +import com.sadellie.unitto.core.ui.common.textfield.FormatterSymbols +import com.sadellie.unitto.core.ui.common.textfield.formatExpression import com.sadellie.unitto.data.common.format import com.sadellie.unitto.data.model.unit.AbstractUnit import com.sadellie.unitto.data.model.unit.DefaultUnit @@ -116,7 +118,8 @@ private fun RightSideScreen( input = uiState.input, shortName = stringResource(it.shortName), scale = uiState.scale, - outputFormat = uiState.outputFormat + outputFormat = uiState.outputFormat, + formatterSymbols = uiState.formatterSymbols ), isFavorite = it.isFavorite, isSelected = it.id == uiState.unitTo?.id, @@ -139,14 +142,18 @@ private fun formatUnitToSupportLabel( input: String, shortName: String, scale: Int, - outputFormat: Int + outputFormat: Int, + formatterSymbols: FormatterSymbols ): String { try { if ((unitFrom is DefaultUnit) and (unitTo is DefaultUnit)) { unitFrom as DefaultUnit unitTo as DefaultUnit - val conversion = unitFrom.convert(unitTo, BigDecimal(input)).format(scale, outputFormat) + val conversion = unitFrom + .convert(unitTo, BigDecimal(input)) + .format(scale, outputFormat) + .formatExpression(formatterSymbols) return "$conversion $shortName" } diff --git a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideUIState.kt b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideUIState.kt index c57aa156..fa1adbc1 100644 --- a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideUIState.kt +++ b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/RightSideUIState.kt @@ -20,6 +20,7 @@ package com.sadellie.unitto.feature.converter import androidx.compose.ui.text.input.TextFieldValue import com.sadellie.unitto.core.base.OutputFormat +import com.sadellie.unitto.core.ui.common.textfield.FormatterSymbols import com.sadellie.unitto.data.model.UnitGroup import com.sadellie.unitto.data.model.UnitsListSorting import com.sadellie.unitto.data.model.unit.AbstractUnit @@ -35,4 +36,5 @@ internal data class RightSideUIState( val input: String = "", val scale: Int = 3, val outputFormat: Int = OutputFormat.PLAIN, + val formatterSymbols: FormatterSymbols = FormatterSymbols.Spaces )