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

Commit 8db8784b authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Enforce constrainedWidth in date and icons

That way, the views will properly adapt their content to the space
available. In particular, VariableDateView will choose the best format
to use based on space.

Test: atest CombinedShadeHeaderConstraintsTest
Test: manual using large screen size and text size
Bug: 258083936
Change-Id: Idae918ba27f143ce29ffa6ca3b865e77bbcecff1
parent 93535dc0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@
        <Layout
            android:layout_width="wrap_content"
            android:layout_height="@dimen/new_qs_header_non_clickable_element_height"
            app:layout_constrainedWidth="true"
            app:layout_constraintHeight_min="@dimen/new_qs_header_non_clickable_element_height"
            app:layout_constraintStart_toEndOf="@id/date"
            app:layout_constraintEnd_toStartOf="@id/batteryRemainingIcon"
+4 −0
Original line number Diff line number Diff line
@@ -51,6 +51,8 @@ object CombinedShadeHeadersConstraintManagerImpl : CombinedShadeHeadersConstrain
                connect(R.id.statusIcons, ConstraintSet.START, R.id.date, ConstraintSet.END)
                connect(R.id.privacy_container, ConstraintSet.START, R.id.date, ConstraintSet.END)
                constrainWidth(R.id.statusIcons, ViewGroup.LayoutParams.WRAP_CONTENT)
                constrainedWidth(R.id.date, true)
                constrainedWidth(R.id.statusIcons, true)
            }
        )
    }
@@ -92,6 +94,8 @@ object CombinedShadeHeadersConstraintManagerImpl : CombinedShadeHeadersConstrain
                    centerEnd,
                    ConstraintSet.END
                )
                constrainedWidth(R.id.date, true)
                constrainedWidth(R.id.statusIcons, true)
            },
            qsConstraintsChanges = {
                setGuidelineBegin(centerStart, offsetFromEdge)
+16 −0
Original line number Diff line number Diff line
@@ -363,6 +363,22 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() {
        }
    }

    @Test
    fun testEmptyCutoutDateIconsAreConstrainedWidth() {
        CombinedShadeHeadersConstraintManagerImpl.emptyCutoutConstraints()()

        assertThat(qqsConstraint.getConstraint(R.id.date).layout.constrainedWidth).isTrue()
        assertThat(qqsConstraint.getConstraint(R.id.statusIcons).layout.constrainedWidth).isTrue()
    }

    @Test
    fun testCenterCutoutDateIconsAreConstrainedWidth() {
        CombinedShadeHeadersConstraintManagerImpl.centerCutoutConstraints(false, 10)()

        assertThat(qqsConstraint.getConstraint(R.id.date).layout.constrainedWidth).isTrue()
        assertThat(qqsConstraint.getConstraint(R.id.statusIcons).layout.constrainedWidth).isTrue()
    }

    private operator fun ConstraintsChanges.invoke() {
        qqsConstraintsChanges?.invoke(qqsConstraint)
        qsConstraintsChanges?.invoke(qsConstraint)