From dacd3ded2e02108c01a73a1246103eaa7c0e1372 Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Wed, 8 Mar 2023 17:54:28 -0800 Subject: [PATCH] New trace sections for shade expansion Add a new ShadeExpansionState track to sysui for showing when shade is closed, opening, or open (screen/BPGpnbTjyFEuhum) Test: Capture trace, open shade, look for new ShadeExpansionState track Bug: 237729326 Bug: 270035295 Change-Id: I31fbd055d6890c2d5238a5378b1d870b8dca13e3 --- .../systemui/shade/ShadeExpansionStateManager.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt index f4b1cc5f71be8..20313c3df465f 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt @@ -17,6 +17,8 @@ package com.android.systemui.shade import android.annotation.IntDef +import android.os.Trace +import android.os.Trace.TRACE_TAG_APP as TRACE_TAG import android.util.Log import androidx.annotation.FloatRange import com.android.systemui.dagger.SysUISingleton @@ -153,6 +155,14 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents { if (fullyClosed) " fullyClosed" else "" ) + if (Trace.isTagEnabled(TRACE_TAG)) { + Trace.traceCounter(TRACE_TAG, "panel_expansion", (fraction * 100).toInt()) + if (state != oldState) { + Trace.asyncTraceForTrackEnd(TRACE_TAG, TRACK_NAME, 0) + Trace.asyncTraceForTrackBegin(TRACE_TAG, TRACK_NAME, state.panelStateToString(), 0) + } + } + val expansionChangeEvent = ShadeExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount) expansionListeners.forEach { it.onPanelExpansionChanged(expansionChangeEvent) } @@ -211,6 +221,10 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents { if (!DEBUG) return Log.v(TAG, msg) } + + companion object { + private const val TRACK_NAME = "ShadeExpansionState" + } } /** Enum for the current state of the panel. */