Merge "Fix layout to handle long carrier text" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2670c8a669
@@ -41,9 +41,6 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/privacy_container"
|
app:layout_constraintTop_toBottomOf="@id/privacy_container"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/carrier_group"
|
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
|
<Transform
|
||||||
android:scaleX="2.57"
|
android:scaleX="2.57"
|
||||||
@@ -62,18 +59,18 @@
|
|||||||
/>
|
/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
|
|
||||||
|
<!-- LargeScreenShadeHeaderController helps with managing clock width to layout this view -->
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/carrier_group">
|
android:id="@+id/carrier_group">
|
||||||
<Layout
|
<Layout
|
||||||
app:layout_constraintWidth_min="48dp"
|
android:layout_width="0dp"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="@dimen/large_screen_shade_header_min_height"
|
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_constraintTop_toBottomOf="@id/privacy_container"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="1"
|
|
||||||
app:layout_constraintBottom_toTopOf="@id/batteryRemainingIcon"
|
app:layout_constraintBottom_toTopOf="@id/batteryRemainingIcon"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
|
||||||
/>
|
/>
|
||||||
<PropertySet
|
<PropertySet
|
||||||
android:alpha="1"
|
android:alpha="1"
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ import com.android.systemui.qs.HeaderPrivacyIconsController
|
|||||||
import com.android.systemui.qs.carrier.QSCarrierGroup
|
import com.android.systemui.qs.carrier.QSCarrierGroup
|
||||||
import com.android.systemui.qs.carrier.QSCarrierGroupController
|
import com.android.systemui.qs.carrier.QSCarrierGroupController
|
||||||
import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.HEADER_TRANSITION_ID
|
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.QQS_HEADER_CONSTRAINT
|
||||||
import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.QS_HEADER_CONSTRAINT
|
import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.QS_HEADER_CONSTRAINT
|
||||||
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider
|
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
|
val newPivot = if (v.isLayoutRtl) v.width.toFloat() else 0f
|
||||||
v.pivotX = newPivot
|
v.pivotX = newPivot
|
||||||
v.pivotY = v.height.toFloat() / 2
|
v.pivotY = v.height.toFloat() / 2
|
||||||
|
|
||||||
|
qsCarrierGroup.setPaddingRelative((v.width * v.scaleX).toInt(), 0, 0, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() {
|
|||||||
fun testEdgeElementsAlignedWithEdgeOrGuide_qs() {
|
fun testEdgeElementsAlignedWithEdgeOrGuide_qs() {
|
||||||
with(qsConstraint) {
|
with(qsConstraint) {
|
||||||
assertThat(getConstraint(R.id.clock).layout.startToStart).isEqualTo(PARENT_ID)
|
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.startToStart).isEqualTo(PARENT_ID)
|
||||||
assertThat(getConstraint(R.id.date).layout.horizontalBias).isEqualTo(0.5f)
|
assertThat(getConstraint(R.id.date).layout.horizontalBias).isEqualTo(0.5f)
|
||||||
@@ -342,7 +342,6 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() {
|
|||||||
R.id.clock to "clock",
|
R.id.clock to "clock",
|
||||||
R.id.date to "date",
|
R.id.date to "date",
|
||||||
R.id.privacy_container to "privacy",
|
R.id.privacy_container to "privacy",
|
||||||
R.id.carrier_group to "carriers",
|
|
||||||
)
|
)
|
||||||
views.forEach { (id, name) ->
|
views.forEach { (id, name) ->
|
||||||
assertWithMessage("$name has 0 height in qqs")
|
assertWithMessage("$name has 0 height in qqs")
|
||||||
@@ -361,7 +360,6 @@ class CombinedShadeHeaderConstraintsTest : SysuiTestCase() {
|
|||||||
val views = mapOf(
|
val views = mapOf(
|
||||||
R.id.clock to "clock",
|
R.id.clock to "clock",
|
||||||
R.id.privacy_container to "privacy",
|
R.id.privacy_container to "privacy",
|
||||||
R.id.carrier_group to "carriers",
|
|
||||||
)
|
)
|
||||||
views.forEach { (id, name) ->
|
views.forEach { (id, name) ->
|
||||||
expect.withMessage("$name changes height")
|
expect.withMessage("$name changes height")
|
||||||
|
|||||||
@@ -692,6 +692,19 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() {
|
|||||||
assertThat(captor.value.getResId()).isEqualTo(R.xml.large_screen_shade_header)
|
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(
|
private fun View.executeLayoutChange(
|
||||||
left: Int,
|
left: Int,
|
||||||
top: Int,
|
top: Int,
|
||||||
|
|||||||
Reference in New Issue
Block a user