From 8f765fb2b0e0589c30a7329fde05d3d3c81e4b19 Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Fri, 12 Apr 2024 16:24:14 +0000 Subject: Update shareousel actions to align with mock Bug: 302691505 Test: Visual verification Flag: ACONFIG android.service.chooser.chooser_payload_toggling NEXTFOOD Change-Id: I86b8faf2c250fe1e6b6ca846d912669884156361 --- .../ui/composable/ComposeIconComposable.kt | 19 +++++++++++++++---- .../ui/composable/ShareouselComposable.kt | 21 +++++++++++++++++++-- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ComposeIconComposable.kt b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ComposeIconComposable.kt index 38138225..8cf237da 100644 --- a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ComposeIconComposable.kt +++ b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ComposeIconComposable.kt @@ -22,6 +22,7 @@ import androidx.compose.foundation.Image import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource @@ -31,11 +32,16 @@ import com.android.intentresolver.icon.ComposeIcon import com.android.intentresolver.icon.ResourceIcon @Composable -fun Image(icon: ComposeIcon, modifier: Modifier = Modifier) { +fun Image(icon: ComposeIcon, modifier: Modifier = Modifier, colorFilter: ColorFilter? = null) { when (icon) { - is AdaptiveIcon -> Image(icon.wrapped, modifier) + is AdaptiveIcon -> Image(icon.wrapped, modifier, colorFilter = colorFilter) is BitmapIcon -> - Image(icon.bitmap.asImageBitmap(), contentDescription = null, modifier = modifier) + Image( + icon.bitmap.asImageBitmap(), + contentDescription = null, + modifier = modifier, + colorFilter = colorFilter + ) is ResourceIcon -> { val localContext = LocalContext.current val wrappedContext: Context = @@ -43,7 +49,12 @@ fun Image(icon: ComposeIcon, modifier: Modifier = Modifier) { override fun getResources(): Resources = icon.res } CompositionLocalProvider(LocalContext provides wrappedContext) { - Image(painterResource(icon.resId), contentDescription = null, modifier = modifier) + Image( + painterResource(icon.resId), + contentDescription = null, + modifier = modifier, + colorFilter = colorFilter + ) } } } 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 7558d994..0cb7306d 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 @@ -36,6 +36,8 @@ import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.AssistChip +import androidx.compose.material3.AssistChipDefaults +import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -44,6 +46,7 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.layout.ContentScale @@ -167,7 +170,13 @@ private fun ActionCarousel(viewModel: ShareouselViewModel) { label = actionViewModel.label, onClick = { actionViewModel.onClicked() }, ) { - actionViewModel.icon?.let { Image(icon = it, modifier = Modifier.size(16.dp)) } + actionViewModel.icon?.let { + Image( + icon = it, + modifier = Modifier.size(16.dp), + colorFilter = ColorFilter.tint(LocalContentColor.current) + ) + } } if (idx == actions.size - 1) { Spacer(Modifier.width(dimensionResource(R.dimen.chooser_edge_margin_normal))) @@ -188,7 +197,15 @@ private fun ShareouselAction( onClick = onClick, label = { Text(label) }, leadingIcon = leadingIcon, - modifier = modifier + border = null, + shape = RoundedCornerShape(1000.dp), // pill shape. + colors = + AssistChipDefaults.assistChipColors( + containerColor = MaterialTheme.colorScheme.surfaceContainerHigh, + labelColor = MaterialTheme.colorScheme.onSurface, + leadingIconContentColor = MaterialTheme.colorScheme.onSurface + ), + modifier = modifier, ) } -- cgit v1.2.3-59-g8ed1b