Merge "Fix large screen QS header" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2022-12-13 23:17:35 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 6 deletions

View File

@@ -124,6 +124,11 @@
</KeyFrameSet> </KeyFrameSet>
</Transition> </Transition>
<Transition
android:id="@+id/large_screen_header_transition"
app:constraintSetStart="@id/large_screen_header_constraint"
app:constraintSetEnd="@id/large_screen_header_constraint"/>
<Include app:constraintSet="@xml/large_screen_shade_header"/> <Include app:constraintSet="@xml/large_screen_shade_header"/>
<Include app:constraintSet="@xml/qs_header"/> <Include app:constraintSet="@xml/qs_header"/>

View File

@@ -101,6 +101,8 @@ class LargeScreenShadeHeaderController @Inject constructor(
@VisibleForTesting @VisibleForTesting
internal val HEADER_TRANSITION_ID = R.id.header_transition internal val HEADER_TRANSITION_ID = R.id.header_transition
@VisibleForTesting @VisibleForTesting
internal val LARGE_SCREEN_HEADER_TRANSITION_ID = R.id.large_screen_header_transition
@VisibleForTesting
internal val QQS_HEADER_CONSTRAINT = R.id.qqs_header_constraint internal val QQS_HEADER_CONSTRAINT = R.id.qqs_header_constraint
@VisibleForTesting @VisibleForTesting
internal val QS_HEADER_CONSTRAINT = R.id.qs_header_constraint internal val QS_HEADER_CONSTRAINT = R.id.qs_header_constraint
@@ -429,8 +431,11 @@ class LargeScreenShadeHeaderController @Inject constructor(
} }
header as MotionLayout header as MotionLayout
if (largeScreenActive) { if (largeScreenActive) {
header.getConstraintSet(LARGE_SCREEN_HEADER_CONSTRAINT).applyTo(header) logInstantEvent("Large screen constraints set")
header.setTransition(HEADER_TRANSITION_ID)
header.transitionToStart()
} else { } else {
logInstantEvent("Small screen constraints set")
header.setTransition(HEADER_TRANSITION_ID) header.setTransition(HEADER_TRANSITION_ID)
header.transitionToStart() header.transitionToStart()
updatePosition() updatePosition()
@@ -440,15 +445,19 @@ class LargeScreenShadeHeaderController @Inject constructor(
private fun updatePosition() { private fun updatePosition() {
if (header is MotionLayout && !largeScreenActive && visible) { if (header is MotionLayout && !largeScreenActive && visible) {
Trace.instantForTrack( logInstantEvent("updatePosition: $qsExpandedFraction")
TRACE_TAG_APP,
"LargeScreenHeaderController - updatePosition",
"position: $qsExpandedFraction"
)
header.progress = qsExpandedFraction header.progress = qsExpandedFraction
} }
} }
private fun logInstantEvent(message: String) {
Trace.instantForTrack(
TRACE_TAG_APP,
"LargeScreenHeaderController",
message
)
}
private fun updateListeners() { private fun updateListeners() {
qsCarrierGroupController.setListening(visible) qsCarrierGroupController.setListening(visible)
if (visible) { if (visible) {