From c388ea12596d89dbd9cd01244aba011a2efc7f5e Mon Sep 17 00:00:00 2001 From: Anton Potapov Date: Wed, 11 Jan 2023 15:05:16 +0000 Subject: Fix layout to handle long carrier text The problem here is the same as in ag/20877927. But here the clock is scaled so it's actual width stays the same, so I'm applying custom padding to compensate this. Fixes: 263851901 Test: auto + manual Change-Id: I606e18cd36998e88289fbc2010186d3e5ae61787 --- packages/SystemUI/res/xml/qs_header.xml | 13 +++++-------- .../systemui/shade/LargeScreenShadeHeaderController.kt | 3 ++- .../systemui/shade/CombinedShadeHeaderConstraintsTest.kt | 4 +--- .../shade/LargeScreenShadeHeaderControllerCombinedTest.kt | 13 +++++++++++++ 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" /> + 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, -- cgit v1.2.3-59-g8ed1b