diff options
| author | 2025-02-25 16:57:47 -0500 | |
|---|---|---|
| committer | 2025-02-25 16:59:37 -0500 | |
| commit | 02fa5860bcf034fdef3e5e37eacdb3d4dc3d0441 (patch) | |
| tree | 011801b98868dd5c361f3f75bec1733fc8e7b2f5 | |
| parent | e282072383a82df6a31d1bbed9a9b0aceca4817d (diff) | |
Add track for CollapsableQuickSettingsSTL transition
Test: perfetto
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Bug: 389985793
Change-Id: I1f82ccee9dbf230afa39d3a525e83cf4b9dd24ac
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt index 71eacdf05cfd..b110ea5c3a92 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt @@ -21,6 +21,7 @@ import android.content.Context import android.graphics.PointF import android.graphics.Rect import android.os.Bundle +import android.os.Trace import android.util.IndentingPrintWriter import android.view.LayoutInflater import android.view.MotionEvent @@ -112,6 +113,7 @@ import com.android.systemui.plugins.qs.QS import com.android.systemui.plugins.qs.QSContainerController import com.android.systemui.qs.composefragment.SceneKeys.QuickQuickSettings import com.android.systemui.qs.composefragment.SceneKeys.QuickSettings +import com.android.systemui.qs.composefragment.SceneKeys.debugName import com.android.systemui.qs.composefragment.SceneKeys.toIdleSceneKey import com.android.systemui.qs.composefragment.ui.GridAnchor import com.android.systemui.qs.composefragment.ui.NotificationScrimClipParams @@ -286,6 +288,12 @@ constructor( */ @Composable private fun CollapsableQuickSettingsSTL() { + val nextCookie = remember { + object { + var value = 0 + } + } + val transitionToCookie = remember { mutableMapOf<TransitionState.Transition, Int>() } val sceneState = rememberMutableSceneTransitionLayoutState( initialScene = remember { viewModel.expansionState.toIdleSceneKey() }, @@ -299,6 +307,20 @@ constructor( toEditMode() } }, + onTransitionStart = { transition -> + val cookie = nextCookie.value++ + transitionToCookie[transition] = cookie + Trace.beginAsyncSection( + "CollapsableQuickSettingsSTL ${transition.debugName}", + cookie, + ) + }, + onTransitionEnd = { transition -> + Trace.endAsyncSection( + "CollapsableQuickSettingsSTL ${transition.debugName}", + transitionToCookie.remove(transition) ?: -1, + ) + }, ) LaunchedEffect(Unit) { @@ -855,6 +877,9 @@ object SceneKeys { val QuickSettings = SceneKey("QuickSettingsScene") val EditMode = SceneKey("EditModeScene") + val TransitionState.Transition.debugName: String + get() = "[from=${fromContent.debugName}, to=${toContent.debugName}]" + fun QSFragmentComposeViewModel.QSExpansionState.toIdleSceneKey(): SceneKey { return when { progress < 0.5f -> QuickQuickSettings |