From 701ca1248f76f8998e8caaa9eba07d7cad853892 Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Thu, 11 Apr 2024 15:54:58 +0000 Subject: Shareousel layout fixes for empty action row. Only show action row if it's non-empty. Move margin to only be added if there are actions. Bug: 328793346 Test: Visual verification with ShareTest Flag: ACONFIG android.service.chooser.chooser_payload_toggling NEXTFOOD Change-Id: I24464717f3a3f16e59348985ce3640d11c7e9853 --- .../ui/composable/ShareouselComposable.kt | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'java') diff --git a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt index feb6f3a8..991cfc5f 100644 --- a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt +++ b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt @@ -76,7 +76,6 @@ private fun Shareousel(viewModel: ShareouselViewModel, keySet: PreviewsModel) { .padding(vertical = 16.dp), ) { PreviewCarousel(keySet, viewModel) - Spacer(Modifier.height(16.dp)) ActionCarousel(viewModel) } } @@ -153,16 +152,19 @@ private fun ShareouselCard(viewModel: ShareouselPreviewViewModel) { @Composable private fun ActionCarousel(viewModel: ShareouselViewModel) { val actions by viewModel.actions.collectAsStateWithLifecycle(initialValue = emptyList()) - LazyRow( - horizontalArrangement = Arrangement.spacedBy(4.dp), - modifier = Modifier.height(32.dp), - ) { - itemsIndexed(actions) { idx, actionViewModel -> - ShareouselAction( - label = actionViewModel.label, - onClick = { actionViewModel.onClicked() }, - ) { - actionViewModel.icon?.let { Image(icon = it, modifier = Modifier.size(16.dp)) } + if (actions.isNotEmpty()) { + Spacer(Modifier.height(16.dp)) + LazyRow( + horizontalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier.height(32.dp), + ) { + itemsIndexed(actions) { idx, actionViewModel -> + ShareouselAction( + label = actionViewModel.label, + onClick = { actionViewModel.onClicked() }, + ) { + actionViewModel.icon?.let { Image(icon = it, modifier = Modifier.size(16.dp)) } + } } } } -- cgit v1.2.3-59-g8ed1b