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
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user