summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-27 07:02:39 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-27 07:02:39 -0800
commit2912c4551e372c0d54fa0a415f66670ad27f8db0 (patch)
treeb7dc80d1b6b8bf689d7cde1f9e64350d687b4036
parent1bdf61662750b24639a4ab927e788aef20314b4f (diff)
parentdcc69d1066ef986d2bfd57aedda6f3bf1f9d6fff (diff)
Merge "Add ringer horizontal background for landscape" into main
-rw-r--r--packages/SystemUI/res/layout/volume_dialog.xml12
-rw-r--r--packages/SystemUI/res/values/dimens.xml2
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt13
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/util/RingerDrawerConstraintsUtils.kt12
4 files changed, 38 insertions, 1 deletions
diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml
index bad5711a1ccc..327075967dba 100644
--- a/packages/SystemUI/res/layout/volume_dialog.xml
+++ b/packages/SystemUI/res/layout/volume_dialog.xml
@@ -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" />
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 6994a55cdbcd..11327b648ddc 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -2116,6 +2116,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>
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt
index 8bb02793ecc5..8733eeb2bd05 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt
@@ -71,6 +71,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)
@@ -84,6 +86,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,
@@ -95,6 +102,7 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
}
drawerContainer.setTransitionListener(ringerDrawerTransitionListener)
volumeDialogBackgroundView.background = volumeDialogBackgroundView.background.mutate()
+ ringerHBackgroundView.background = ringerHBackgroundView.background.mutate()
viewModel.ringerViewModel
.mapLatest { ringerState ->
@@ -184,6 +192,8 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
)
volumeDialogBackgroundView.background =
volumeDialogBackgroundView.background.mutate()
+ ringerHBackgroundView.background =
+ ringerHBackgroundView.background.mutate()
}
}
}
@@ -193,6 +203,9 @@ constructor(private val viewModel: VolumeDialogRingerDrawerViewModel) {
volumeDialogBackgroundView.setBackgroundResource(
R.drawable.volume_dialog_background
)
+ ringerHBackgroundView.setBackgroundResource(
+ R.drawable.volume_dialog_background
+ )
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/util/RingerDrawerConstraintsUtils.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/util/RingerDrawerConstraintsUtils.kt
index 25ba1bd3a1d8..69ffa3890437 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/util/RingerDrawerConstraintsUtils.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/util/RingerDrawerConstraintsUtils.kt
@@ -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(