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

Commit 132ce52f authored by Anton Potapov's avatar Anton Potapov Committed by Automerger Merge Worker
Browse files

Merge "Fix layout to handle long carrier text" into tm-qpr-dev am: 2670c8a6 am: 4180c689

parents 913c2b95 4180c689
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -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"
+2 −1
Original line number Diff line number Diff line
@@ -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)
            }
        }

+1 −3
Original line number Diff line number Diff line
@@ -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")
+13 −0
Original line number Diff line number Diff line
@@ -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,