From b0545b9e38a181e2f0ebba155c157d93ca96fc8f Mon Sep 17 00:00:00 2001 From: Ian Wagner Date: Wed, 6 Nov 2024 09:52:55 +0900 Subject: [PATCH] Fix issue with expanded full screen layout for instructions (#350) * Fix issue with expanded full screen layout for instructions * Fix edge case with expanded and one instruction * Fix text color (since we fix the background color in the default theme, we need to fix text color too) * Apply automatic changes --------- Co-authored-by: ianthetechie --- .../composeui/theme/RoadNameViewTheme.kt | 4 +- .../composeui/views/InstructionsView.kt | 89 +++++++++++------- ...nstructionViewTest_testInstructionView.png | Bin 9663 -> 9643 bytes ...onViewTest_testInstructionViewExpanded.png | Bin 9935 -> 9923 bytes ...uctionViewTests_testRTLInstructionView.png | Bin 8985 -> 8964 bytes 5 files changed, 55 insertions(+), 38 deletions(-) diff --git a/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/theme/RoadNameViewTheme.kt b/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/theme/RoadNameViewTheme.kt index 0c433472..cab42953 100644 --- a/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/theme/RoadNameViewTheme.kt +++ b/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/theme/RoadNameViewTheme.kt @@ -23,9 +23,7 @@ interface RoadNameViewTheme { */ object DefaultRoadNameViewTheme : RoadNameViewTheme { override val textStyle: TextStyle - @Composable - get() = - MaterialTheme.typography.labelSmall.copy(color = MaterialTheme.colorScheme.inverseOnSurface) + @Composable get() = MaterialTheme.typography.labelSmall.copy(color = Color.White) override val backgroundColor: Color @Composable get() = Color(0x35, 0x83, 0xdd) diff --git a/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/views/InstructionsView.kt b/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/views/InstructionsView.kt index c6c747cb..f57841d2 100644 --- a/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/views/InstructionsView.kt +++ b/android/composeui/src/main/java/com/stadiamaps/ferrostar/composeui/views/InstructionsView.kt @@ -7,8 +7,10 @@ import androidx.compose.animation.core.spring import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn @@ -28,6 +30,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import com.stadiamaps.ferrostar.composeui.formatting.DistanceFormatter import com.stadiamaps.ferrostar.composeui.formatting.LocalizedDistanceFormatter @@ -64,60 +67,76 @@ fun InstructionsView( var isExpanded by remember { mutableStateOf(initExpanded) } val screenHeight = LocalConfiguration.current.screenHeightDp.dp - Column( + Box( modifier = Modifier.fillMaxWidth() .heightIn(max = screenHeight) .animateContentSize(animationSpec = spring(stiffness = Spring.StiffnessHigh)) .background(theme.backgroundColor, RoundedCornerShape(10.dp)) - .padding(16.dp) - .clickable { - // This makes the entire view a click target for expansion. - // If only the pill is a click target, you need to be a ninja to tap it. - isExpanded = true - }) { - LazyColumn(verticalArrangement = Arrangement.spacedBy(8.dp)) { + .clickable { isExpanded = true }) { + Column(modifier = Modifier.fillMaxWidth().padding(16.dp)) { // Primary content - item { - ManeuverInstructionView( - text = instructions.primaryContent.text, - distanceFormatter = distanceFormatter, - distanceToNextManeuver = distanceToNextManeuver, - theme = theme) { - contentBuilder(instructions) - } - } + ManeuverInstructionView( + text = instructions.primaryContent.text, + distanceFormatter = distanceFormatter, + distanceToNextManeuver = distanceToNextManeuver, + theme = theme) { + contentBuilder(instructions) + } // TODO: Secondary content // Expanded content - if (isExpanded && remainingSteps != null && remainingSteps.count() > 1) { - item { HorizontalDivider(thickness = 1.dp) } - items(remainingSteps.drop(1)) { step -> - step.visualInstructions.firstOrNull()?.let { upcomingInstruction -> - Spacer(modifier = Modifier.height(8.dp)) - ManeuverInstructionView( - text = upcomingInstruction.primaryContent.text, - distanceFormatter = distanceFormatter, - distanceToNextManeuver = step.distance, - theme = theme) { - contentBuilder(upcomingInstruction) + val showMultipleRows = isExpanded && remainingSteps != null && remainingSteps.count() > 1 + if (showMultipleRows) { + Spacer(modifier = Modifier.height(8.dp)) + HorizontalDivider(thickness = 1.dp) + Spacer(modifier = Modifier.height(8.dp)) + } + + if (isExpanded) { + Box(modifier = Modifier.weight(1f)) { + LazyColumn( + modifier = Modifier.fillMaxSize(), + verticalArrangement = Arrangement.spacedBy(8.dp)) { + if (remainingSteps != null) { + items(remainingSteps.drop(1)) { step -> + step.visualInstructions.firstOrNull()?.let { upcomingInstruction -> + ManeuverInstructionView( + text = upcomingInstruction.primaryContent.text, + distanceFormatter = distanceFormatter, + distanceToNextManeuver = step.distance, + theme = theme) { + contentBuilder(upcomingInstruction) + } + Spacer(modifier = Modifier.height(8.dp)) + HorizontalDivider(thickness = 1.dp) + } + } } - Spacer(modifier = Modifier.height(16.dp)) - HorizontalDivider(thickness = 1.dp) - } + } } } - } - if (isExpanded) { - Spacer(modifier = Modifier.weight(1.0f)) + if (showMultipleRows) { + Spacer(modifier = Modifier.height(16.dp)) + } } PillDragHandle( isExpanded, // The modifier here lets us keep the container as slim as possible - modifier = Modifier.offset(y = 4.dp).align(Alignment.CenterHorizontally), + modifier = + Modifier.offset { + IntOffset( + 0, + if (isExpanded) { + (-4 * density).toInt() + } else { + (-8 * density).toInt() + }) + } + .align(Alignment.BottomCenter), iconTintColor = theme.iconTintColor) { isExpanded = !isExpanded } diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionView.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionView.png index e563f03bc6f3f07c17c40e4a6866c44cf006e7da..e427e067a8257a535c878afbe00dfc55cf6ccf22 100644 GIT binary patch literal 9643 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 diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_RTLInstructionViewTests_testRTLInstructionView.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_RTLInstructionViewTests_testRTLInstructionView.png index 282ad4a1c2c0b94185b8a7d2fa826ab92c0eab10..2546b01e49f45f159ea295c1786f0c7cd928b9ce 100644 GIT binary patch literal 8964 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