diff options
4 files changed, 21 insertions, 12 deletions
diff --git a/packages/SystemUI/res/xml/qs_header.xml b/packages/SystemUI/res/xml/qs_header.xml index d97031f35d6b..52a98984e6e2 100644 --- a/packages/SystemUI/res/xml/qs_header.xml +++ b/packages/SystemUI/res/xml/qs_header.xml @@ -41,9 +41,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/privacy_container" app:layout_constraintBottom_toBottomOf="@id/carrier_group" - app:layout_constraintEnd_toStartOf="@id/carrier_group" - app:layout_constraintHorizontal_bias="0" - app:layout_constraintHorizontal_chainStyle="spread_inside" /> <Transform android:scaleX="2.57" @@ -62,18 +59,18 @@ /> </Constraint> + <!-- LargeScreenShadeHeaderController helps with managing clock width to layout this view --> <Constraint android:id="@+id/carrier_group"> <Layout - app:layout_constraintWidth_min="48dp" - android:layout_width="wrap_content" + android:layout_width="0dp" android:layout_height="@dimen/large_screen_shade_header_min_height" - app:layout_constraintStart_toEndOf="@id/clock" + app:layout_constraintWidth_min="48dp" + app:layout_constraintWidth_default="wrap" + app:layout_constraintStart_toStartOf="@id/clock" app:layout_constraintTop_toBottomOf="@id/privacy_container" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="1" app:layout_constraintBottom_toTopOf="@id/batteryRemainingIcon" - app:layout_constraintHorizontal_chainStyle="spread_inside" /> <PropertySet android:alpha="1" diff --git a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt index 88676371bd6b..cbb133bdd87a 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt @@ -45,7 +45,6 @@ import com.android.systemui.qs.HeaderPrivacyIconsController import com.android.systemui.qs.carrier.QSCarrierGroup import com.android.systemui.qs.carrier.QSCarrierGroupController import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.HEADER_TRANSITION_ID -import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.LARGE_SCREEN_HEADER_CONSTRAINT import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.QQS_HEADER_CONSTRAINT import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.QS_HEADER_CONSTRAINT import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider @@ -305,6 +304,8 @@ class LargeScreenShadeHeaderController @Inject constructor( val newPivot = if (v.isLayoutRtl) v.width.toFloat() else 0f v.pivotX = newPivot v.pivotY = v.height.toFloat() / 2 + + qsCarrierGroup.setPaddingRelative((v.width * v.scaleX).toInt(), 0, 0, 0) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/CombinedShadeHeaderConstraintsTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/CombinedShadeHeaderConstraintsTest.kt index ed9baf5b1c9f..3706859a5b74 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/CombinedShadeHeaderConstraintsTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/CombinedShadeHeaderConstraintsTest.kt @@ -90,7 +90,7 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() { fun testEdgeElementsAlignedWithEdgeOrGuide_qs() { with(qsConstraint) { assertThat(getConstraint(R.id.clock).layout.startToStart).isEqualTo(PARENT_ID) - assertThat(getConstraint(R.id.clock).layout.horizontalBias).isEqualTo(0f) + assertThat(getConstraint(R.id.clock).layout.horizontalBias).isEqualTo(0.5f) assertThat(getConstraint(R.id.date).layout.startToStart).isEqualTo(PARENT_ID) assertThat(getConstraint(R.id.date).layout.horizontalBias).isEqualTo(0.5f) @@ -342,7 +342,6 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() { R.id.clock to "clock", R.id.date to "date", R.id.privacy_container to "privacy", - R.id.carrier_group to "carriers", ) views.forEach { (id, name) -> assertWithMessage("$name has 0 height in qqs") @@ -361,7 +360,6 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() { val views = mapOf( R.id.clock to "clock", R.id.privacy_container to "privacy", - R.id.carrier_group to "carriers", ) views.forEach { (id, name) -> expect.withMessage("$name changes height") diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt index f580f5e00f67..91fef1daaf86 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt @@ -692,6 +692,19 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() { assertThat(captor.value.getResId()).isEqualTo(R.xml.large_screen_shade_header) } + @Test + fun `carrier left padding is set when clock layout changes`() { + val width = 200 + whenever(clock.width).thenReturn(width) + whenever(clock.scaleX).thenReturn(2.57f) // 2.57 comes from qs_header.xml + val captor = ArgumentCaptor.forClass(View.OnLayoutChangeListener::class.java) + + verify(clock).addOnLayoutChangeListener(capture(captor)) + captor.value.onLayoutChange(clock, 0, 0, width, 0, 0, 0, 0, 0) + + verify(carrierGroup).setPaddingRelative(514, 0, 0, 0) + } + private fun View.executeLayoutChange( left: Int, top: Int, |