diff options
| author | 2023-02-06 13:37:51 +0800 | |
|---|---|---|
| committer | 2023-02-06 13:40:54 +0800 | |
| commit | eda91d9bf149c2353f67417dc67de45a71d14ceb (patch) | |
| tree | 21b089e3dc1023743f70865d02a63c4f3ffb218a | |
| parent | 37ac20311df5c89443061953e71b455500b782a1 (diff) | |
Scaffold back arrow should be pointing right when rtl
Mirror the arrow when rtl to fix.
Fix: 266190692
Test: Manually with Settings
Change-Id: Ia4dffcdaebf0ff1dd794b59390bea467b92417e9
| -rw-r--r-- | packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/Actions.kt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/Actions.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/Actions.kt index 32b283e9a8a9..62189dccc9bf 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/Actions.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/Actions.kt @@ -24,7 +24,12 @@ import androidx.compose.material.icons.outlined.FindInPage import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.composed +import androidx.compose.ui.draw.scale +import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.LayoutDirection import com.android.settingslib.spa.framework.compose.LocalNavController /** Action that navigates back to last page. */ @@ -50,6 +55,7 @@ private fun BackAction(contentDescription: String, onClick: () -> Unit) { Icon( imageVector = Icons.Outlined.ArrowBack, contentDescription = contentDescription, + modifier = Modifier.autoMirrored(), ) } } @@ -75,3 +81,10 @@ internal fun ClearAction(onClick: () -> Unit) { ) } } + +private fun Modifier.autoMirrored() = composed { + when (LocalLayoutDirection.current) { + LayoutDirection.Rtl -> scale(scaleX = -1f, scaleY = 1f) + else -> this + } +} |