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

Commit dcc69d10 authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Add ringer horizontal background for landscape

Flag: com.android.systemui.volume_redesign
Bug: 385721141
Test: Checked UI
Change-Id: I46952bc6755c45b1c20bad00952ce2364a8de790
parent d53aae77
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -33,15 +33,25 @@
        app:layout_constraintStart_toStartOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintTop_toTopOf="@id/volume_ringer_drawer" />

    <View
        android:id="@+id/volume_ringer_horizontal_background"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@drawable/volume_dialog_background"
        app:layout_constraintBottom_toTopOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintEnd_toEndOf="@id/volume_ringer_drawer"
        app:layout_constraintStart_toStartOf="@id/volume_ringer_drawer"
        app:layout_constraintTop_toTopOf="@id/volume_dialog_background" />

    <include
        android:id="@id/volume_ringer_drawer"
        layout="@layout/volume_ringer_drawer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/volume_dialog_components_spacing"
        android:layout_marginRight="@dimen/volume_dialog_ringer_drawer_diff_right_margin"
        app:layout_constraintBottom_toTopOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintEnd_toEndOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintStart_toStartOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1" />

+2 −0
Original line number Diff line number Diff line
@@ -2108,6 +2108,8 @@

    <dimen name="volume_dialog_background_square_corner_radius">12dp</dimen>

    <dimen name="volume_dialog_ringer_drawer_left_margin">10dp</dimen>
    <dimen name="volume_dialog_ringer_drawer_diff_right_margin">6dp</dimen>
    <dimen name="volume_dialog_ringer_drawer_button_size">@dimen/volume_dialog_button_size</dimen>
    <dimen name="volume_dialog_ringer_drawer_button_icon_radius">10dp</dimen>
    <dimen name="volume_dialog_ringer_selected_button_background_radius">20dp</dimen>
+13 −0
Original line number Diff line number Diff line
@@ -69,6 +69,8 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {

    fun CoroutineScope.bind(view: View) {
        val volumeDialogBackgroundView = view.requireViewById<View>(R.id.volume_dialog_background)
        val ringerHBackgroundView =
            view.requireViewById<View>(R.id.volume_ringer_horizontal_background)
        val drawerContainer = view.requireViewById<MotionLayout>(R.id.volume_ringer_drawer)
        val unselectedButtonUiModel = RingerButtonUiModel.getUnselectedButton(view.context)
        val selectedButtonUiModel = RingerButtonUiModel.getSelectedButton(view.context)
@@ -82,6 +84,11 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
            )
        var backgroundAnimationProgress: Float by
            Delegates.observable(0F) { _, _, progress ->
                ringerHBackgroundView.applyCorners(
                    fullRadius = volumeDialogBgFullRadius,
                    diff = volumeDialogBgFullRadius - volumeDialogBgSmallRadius,
                    progress,
                )
                volumeDialogBackgroundView.applyCorners(
                    fullRadius = volumeDialogBgFullRadius,
                    diff = volumeDialogBgFullRadius - volumeDialogBgSmallRadius,
@@ -93,6 +100,7 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
        }
        drawerContainer.setTransitionListener(ringerDrawerTransitionListener)
        volumeDialogBackgroundView.background = volumeDialogBackgroundView.background.mutate()
        ringerHBackgroundView.background = ringerHBackgroundView.background.mutate()

        viewModel.ringerViewModel
            .onEach { ringerState ->
@@ -182,6 +190,8 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
                                )
                                volumeDialogBackgroundView.background =
                                    volumeDialogBackgroundView.background.mutate()
                                ringerHBackgroundView.background =
                                    ringerHBackgroundView.background.mutate()
                            }
                        }
                    }
@@ -191,6 +201,9 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
                        volumeDialogBackgroundView.setBackgroundResource(
                            R.drawable.volume_dialog_background
                        )
                        ringerHBackgroundView.setBackgroundResource(
                            R.drawable.volume_dialog_background
                        )
                    }
                }
            }
+12 −0
Original line number Diff line number Diff line
@@ -119,6 +119,15 @@ private fun ConstraintSet.adjustOpenConstraintsForDrawer(
        )
        when (lastOrientation) {
            ORIENTATION_LANDSCAPE -> {
                if (index == 0) {
                    setMargin(
                        button.id,
                        ConstraintSet.LEFT,
                        motionLayout.context.resources.getDimensionPixelSize(
                            R.dimen.volume_dialog_ringer_drawer_left_margin
                        ),
                    )
                }
                setButtonPositionLandscapeConstraints(motionLayout, index, button)
                if (index != motionLayout.childCount - 1) {
                    setMargin(
@@ -134,6 +143,9 @@ private fun ConstraintSet.adjustOpenConstraintsForDrawer(
                setMargin(button.id, ConstraintSet.BOTTOM, 0)
            }
            ORIENTATION_PORTRAIT -> {
                if (index == 0) {
                    setMargin(button.id, ConstraintSet.LEFT, 0)
                }
                setButtonPositionPortraitConstraints(motionLayout, index, button)
                if (index != motionLayout.childCount - 1) {
                    setMargin(