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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20690947

Change-Id: I432cf387549ef2f52324d4d80ab5818024f3767a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-12-14 00:05:35 +00:00
committed by Automerger Merge Worker
2 changed files with 20 additions and 6 deletions

View File

@@ -124,6 +124,11 @@
</KeyFrameSet>
</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/qs_header"/>

View File

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