From bfd8c22803723d03f60900595c4b699e7b83a456 Mon Sep 17 00:00:00 2001 From: Helen Qin Date: Fri, 24 Mar 2023 02:17:22 +0000 Subject: [PATCH] [CredManUi] Show directional icons based on language directions. Bug: 271446613 Bug: 271441594 Test: manual (see comment for screenshot) Change-Id: I5d502154e3c25789360ca29cc15b755c879c1efc --- .../android/credentialmanager/common/ui/Entry.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt b/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt index bba08f4d787fd..7a720b1e858bb 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt @@ -43,14 +43,18 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.composed import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import com.android.credentialmanager.R import com.android.credentialmanager.ui.theme.EntryShape @@ -336,7 +340,7 @@ fun MoreOptionTopAppBar( contentDescription = stringResource( R.string.accessibility_back_arrow_button ), - modifier = Modifier.size(24.dp), + modifier = Modifier.size(24.dp).autoMirrored(), tint = MaterialTheme.colorScheme.onSurfaceVariant, ) } @@ -345,4 +349,11 @@ fun MoreOptionTopAppBar( colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.Transparent), modifier = Modifier.padding(top = 12.dp, bottom = bottomPadding) ) +} + +private fun Modifier.autoMirrored() = composed { + when (LocalLayoutDirection.current) { + LayoutDirection.Rtl -> graphicsLayer(scaleX = -1f) + else -> this + } } \ No newline at end of file