Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23918d93 authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Make sure navigation and action buttons in media controls follows LTR

Flag: com.android.systemui.media_controls_in_compose
Fixes: 434904953
Test: Checked UI.
Change-Id: Iaef3a7a23a8b3d0ec2669e66730a7917fb499cf1
parent e1b8376c
Loading
Loading
Loading
Loading
+46 −35
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ import androidx.compose.material3.SliderState
import androidx.compose.material3.Text
import androidx.compose.material3.ripple
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.Stable
import androidx.compose.runtime.getValue
@@ -110,12 +111,14 @@ import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.layout
import androidx.compose.ui.node.Ref
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.semantics.clearAndSetSemantics
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastCoerceIn
import androidx.compose.ui.util.fastForEachIndexed
@@ -631,16 +634,19 @@ private fun ContentScope.CardForegroundContent(
            }

            // Third row.
            CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Ltr) {
                Row(
                    horizontalArrangement = Arrangement.spacedBy(8.dp),
                    verticalAlignment = Alignment.CenterVertically,
                modifier = Modifier.padding(start = 16.dp, top = 24.dp, end = 16.dp, bottom = 16.dp),
                    modifier =
                        Modifier.padding(start = 16.dp, top = 24.dp, end = 16.dp, bottom = 16.dp),
                ) {
                    Navigation(
                        viewModel = viewModel.navigation,
                        isSeekBarVisible = true,
                        areActionsVisible =
                        viewModel.actionButtonLayout == MediaCardActionButtonLayout.WithPlayPause,
                            viewModel.actionButtonLayout ==
                                MediaCardActionButtonLayout.WithPlayPause,
                        modifier = Modifier.weight(1f),
                    )

@@ -652,6 +658,7 @@ private fun ContentScope.CardForegroundContent(
                        )
                    }
                }
            }
        } else {
            // Two row presentation style.
            //
@@ -667,16 +674,19 @@ private fun ContentScope.CardForegroundContent(
                    modifier = Modifier.weight(1f).padding(end = 8.dp),
                )

                CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Ltr) {
                    Navigation(
                        viewModel = viewModel.navigation,
                        isSeekBarVisible = false,
                        areActionsVisible =
                        viewModel.actionButtonLayout == MediaCardActionButtonLayout.WithPlayPause,
                            viewModel.actionButtonLayout ==
                                MediaCardActionButtonLayout.WithPlayPause,
                        modifier = Modifier.padding(end = 8.dp),
                    )

                    if (
                    viewModel.actionButtonLayout == MediaCardActionButtonLayout.SecondaryActionsOnly
                        viewModel.actionButtonLayout ==
                            MediaCardActionButtonLayout.SecondaryActionsOnly
                    ) {
                        viewModel.additionalActions.fastForEachIndexed { index, action ->
                            SecondaryAction(
@@ -687,6 +697,7 @@ private fun ContentScope.CardForegroundContent(
                            )
                        }
                    }
                }

                val playPauseSize = DpSize(width = 48.dp, height = 48.dp)
                if (viewModel.actionButtonLayout == MediaCardActionButtonLayout.WithPlayPause) {