[CredManUi] Show directional icons based on language directions.

Bug: 271446613
Bug: 271441594
Test: manual (see comment for screenshot)
Change-Id: I5d502154e3c25789360ca29cc15b755c879c1efc
This commit is contained in:
Helen Qin
2023-03-24 02:17:22 +00:00
parent 4f83dcc4d2
commit bfd8c22803

View File

@@ -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
}
}