From 4319d18e176c5aa9067e6c02c84c4b76663572e3 Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Fri, 19 Jan 2024 17:29:29 +0300 Subject: [PATCH] Remove experimental ChipsRow --- .../feature/converter/ConverterViewModel.kt | 1 - .../feature/converter/LeftSideScreen.kt | 27 ++---- .../feature/converter/LeftSideUIState.kt | 1 - .../feature/converter/components/ChipsRow.kt | 97 ------------------- 4 files changed, 8 insertions(+), 118 deletions(-) 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 5e9b5717..2014ea6c 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 @@ -183,7 +183,6 @@ internal class ConverterViewModel @Inject constructor( sorting = prefs.unitConverterSorting, shownUnitGroups = prefs.shownUnitGroups, favorites = prefs.unitConverterFavoritesOnly, - verticalList = prefs.enableToolsExperiment, query = query, units = units, unitGroup = unitGroup diff --git a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideScreen.kt b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideScreen.kt index acf98acf..5a3c517c 100644 --- a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideScreen.kt +++ b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideScreen.kt @@ -41,13 +41,12 @@ import com.sadellie.unitto.core.base.R import com.sadellie.unitto.core.ui.common.SearchPlaceholder import com.sadellie.unitto.core.ui.common.UnittoEmptyScreen import com.sadellie.unitto.core.ui.common.UnittoSearchBar +import com.sadellie.unitto.data.converter.MyUnitIDS import com.sadellie.unitto.data.model.UnitGroup import com.sadellie.unitto.data.model.UnitsListSorting import com.sadellie.unitto.data.model.unit.AbstractUnit import com.sadellie.unitto.data.model.unit.NormalUnit -import com.sadellie.unitto.data.converter.MyUnitIDS import com.sadellie.unitto.feature.converter.components.BasicUnitListItem -import com.sadellie.unitto.feature.converter.components.ChipsFlexRow import com.sadellie.unitto.feature.converter.components.ChipsRow import com.sadellie.unitto.feature.converter.components.FavoritesButton import com.sadellie.unitto.feature.converter.components.UnitGroupHeader @@ -120,22 +119,13 @@ private fun LeftSideScreen( scrollBehavior = scrollBehavior ) - if (uiState.verticalList) { - ChipsFlexRow( - chosenUnitGroup = uiState.unitGroup, - items = uiState.shownUnitGroups, - selectAction = updateUnitGroup, - navigateToSettingsAction = navigateToUnitGroups - ) - } else { - ChipsRow( - chosenUnitGroup = uiState.unitGroup, - items = uiState.shownUnitGroups, - selectAction = updateUnitGroup, - lazyListState = chipsRowLazyListState, - navigateToSettingsAction = navigateToUnitGroups - ) - } + ChipsRow( + chosenUnitGroup = uiState.unitGroup, + items = uiState.shownUnitGroups, + selectAction = updateUnitGroup, + lazyListState = chipsRowLazyListState, + navigateToSettingsAction = navigateToUnitGroups + ) } } ) { paddingValues -> @@ -203,7 +193,6 @@ private fun LeftSideScreenPreview() { shownUnitGroups = listOf(UnitGroup.LENGTH, UnitGroup.TEMPERATURE, UnitGroup.CURRENCY), unitGroup = units.keys.toList().first(), sorting = UnitsListSorting.USAGE, - verticalList = false ), onQueryChange = {}, toggleFavoritesOnly = {}, diff --git a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideUIState.kt b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideUIState.kt index c9dafaa7..51919301 100644 --- a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideUIState.kt +++ b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/LeftSideUIState.kt @@ -34,6 +34,5 @@ internal sealed class LeftSideUIState { val shownUnitGroups: List, val unitGroup: UnitGroup?, val sorting: UnitsListSorting, - val verticalList: Boolean, ) : LeftSideUIState() } diff --git a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/components/ChipsRow.kt b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/components/ChipsRow.kt index b716c3d1..e327f753 100644 --- a/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/components/ChipsRow.kt +++ b/feature/converter/src/main/java/com/sadellie/unitto/feature/converter/components/ChipsRow.kt @@ -18,39 +18,23 @@ package com.sadellie.unitto.feature.converter.components -import androidx.compose.animation.core.animateDp -import androidx.compose.animation.core.animateFloat -import androidx.compose.animation.core.tween -import androidx.compose.animation.core.updateTransition import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Check -import androidx.compose.material.icons.filled.ExpandMore import androidx.compose.material.icons.filled.Settings -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clipToBounds -import androidx.compose.ui.draw.rotate import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -111,70 +95,6 @@ internal fun ChipsRow( } } -@Composable -fun ChipsFlexRow( - items: List = ALL_UNIT_GROUPS, - chosenUnitGroup: UnitGroup?, - selectAction: (UnitGroup?) -> Unit, - navigateToSettingsAction: () -> Unit, -) { - var expanded by remember { mutableStateOf(false) } - val transition = updateTransition(expanded, label = "Expanded transition") - - val rowHeight by transition.animateDp({ tween() }, "Row height") { - if (it) 392.dp else 32.dp - } - - val expandRotation by transition.animateFloat({ tween() }, "Expand rotation") { - if (it) 180f else 0f - } - - Row( - modifier = Modifier - .padding(16.dp, 8.dp) - .heightIn(max = rowHeight) - .clipToBounds() - ) { - FlowRow( - modifier = Modifier - .verticalScroll(rememberScrollState(), expanded) - .fillMaxHeight() - .weight(1f), - horizontalArrangement = Arrangement.spacedBy(8.dp), - verticalArrangement = Arrangement.spacedBy(8.dp) - ) { - items.forEach { item -> - val selected: Boolean = item == chosenUnitGroup - FilterChip( - selected = selected, - onClick = { selectAction(if (selected) null else item) }, - label = stringResource(item.res), - imageVector = Icons.Default.Check, - contentDescription = stringResource(R.string.checked_filter_description) - ) - } - AssistChip( - onClick = navigateToSettingsAction, - imageVector = Icons.Default.Settings, - contentDescription = stringResource(R.string.open_settings_label) - ) - } - - IconButton( - onClick = { expanded = !expanded }, - modifier = Modifier.size(32.dp) - ) { - Icon( - imageVector = Icons.Default.ExpandMore, - contentDescription = null, - modifier = Modifier - .size(32.dp) - .rotate(expandRotation) - ) - } - } -} - @Preview @Composable fun PreviewUnittoChips() { @@ -192,20 +112,3 @@ fun PreviewUnittoChips() { lazyListState = rememberLazyListState() ) } - -@Preview(showSystemUi = true, showBackground = true, backgroundColor = 0xFFE0E0E0) -@Composable -fun PreviewChipsFlowRow() { - var selected by remember { mutableStateOf(UnitGroup.LENGTH) } - - fun selectAction(unitGroup: UnitGroup?) { - selected = unitGroup - } - - ChipsFlexRow( - items = ALL_UNIT_GROUPS, - chosenUnitGroup = selected, - selectAction = { selectAction(it) }, - navigateToSettingsAction = {}, - ) -}