From bf79ca54f6451223b7abe0d3a696ced095674576 Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Tue, 23 May 2023 23:06:08 +0300 Subject: [PATCH] Inline formatting options --- .../sadellie/unitto/core/base/OutputFormat.kt | 11 ----- .../sadellie/unitto/core/base/Separator.kt | 11 ----- .../settings/formatting/FormattingScreen.kt | 46 ++++++++++++------- 3 files changed, 30 insertions(+), 38 deletions(-) diff --git a/core/base/src/main/java/com/sadellie/unitto/core/base/OutputFormat.kt b/core/base/src/main/java/com/sadellie/unitto/core/base/OutputFormat.kt index 77d1b9b6..c3002585 100644 --- a/core/base/src/main/java/com/sadellie/unitto/core/base/OutputFormat.kt +++ b/core/base/src/main/java/com/sadellie/unitto/core/base/OutputFormat.kt @@ -29,14 +29,3 @@ object OutputFormat { // App will try it's best to use engineering notation const val FORCE_ENGINEERING = 2 } - -/** - * Available formats. Used in settings - */ -val OUTPUT_FORMAT: Map by lazy { - mapOf( - OutputFormat.PLAIN to R.string.plain, - OutputFormat.ALLOW_ENGINEERING to R.string.allow_engineering, - OutputFormat.FORCE_ENGINEERING to R.string.force_engineering, - ) -} diff --git a/core/base/src/main/java/com/sadellie/unitto/core/base/Separator.kt b/core/base/src/main/java/com/sadellie/unitto/core/base/Separator.kt index f39294a7..7eae5336 100644 --- a/core/base/src/main/java/com/sadellie/unitto/core/base/Separator.kt +++ b/core/base/src/main/java/com/sadellie/unitto/core/base/Separator.kt @@ -26,14 +26,3 @@ object Separator { const val PERIOD = 1 const val COMMA = 2 } - -/** - * Map of separators that is used in settings - */ -val SEPARATORS: Map by lazy { - mapOf( - Separator.SPACES to R.string.spaces, - Separator.PERIOD to R.string.period, - Separator.COMMA to R.string.comma - ) -} diff --git a/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/formatting/FormattingScreen.kt b/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/formatting/FormattingScreen.kt index a799cecd..7f1a2940 100644 --- a/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/formatting/FormattingScreen.kt +++ b/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/formatting/FormattingScreen.kt @@ -49,10 +49,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.sadellie.unitto.core.base.OUTPUT_FORMAT import com.sadellie.unitto.core.base.OutputFormat import com.sadellie.unitto.core.base.R -import com.sadellie.unitto.core.base.SEPARATORS import com.sadellie.unitto.core.base.Separator import com.sadellie.unitto.core.ui.common.NavigateUpButton import com.sadellie.unitto.core.ui.common.UnittoSlider @@ -176,13 +174,21 @@ fun FormattingScreen( .padding(start = 56.dp) ) { SegmentedButtonsRow { - SEPARATORS.forEach { (separator, stringRes) -> - SegmentedButton( - label = stringResource(stringRes), - onClick = { onSeparatorChange(separator) }, - selected = separator == uiState.separator - ) - } + SegmentedButton( + label = stringResource(R.string.spaces), + onClick = { onSeparatorChange(Separator.SPACES) }, + selected = Separator.SPACES == uiState.separator + ) + SegmentedButton( + label = stringResource(R.string.period), + onClick = { onSeparatorChange(Separator.PERIOD) }, + selected = Separator.PERIOD == uiState.separator + ) + SegmentedButton( + label = stringResource(R.string.comma), + onClick = { onSeparatorChange(Separator.COMMA) }, + selected = Separator.COMMA == uiState.separator + ) } } } @@ -205,13 +211,21 @@ fun FormattingScreen( .padding(start = 56.dp) ) { SegmentedButtonsRow { - OUTPUT_FORMAT.forEach { (outputFormat, stringRes) -> - SegmentedButton( - label = stringResource(stringRes), - onClick = { onOutputFormatChange(outputFormat) }, - selected = outputFormat == uiState.outputFormat - ) - } + SegmentedButton( + label = stringResource(R.string.plain), + onClick = { onOutputFormatChange(OutputFormat.PLAIN) }, + selected = OutputFormat.PLAIN == uiState.outputFormat + ) + SegmentedButton( + label = stringResource(R.string.allow_engineering), + onClick = { onOutputFormatChange(OutputFormat.ALLOW_ENGINEERING) }, + selected = OutputFormat.ALLOW_ENGINEERING == uiState.outputFormat + ) + SegmentedButton( + label = stringResource(R.string.force_engineering), + onClick = { onOutputFormatChange(OutputFormat.FORCE_ENGINEERING) }, + selected = OutputFormat.FORCE_ENGINEERING == uiState.outputFormat + ) } } }