Loading packages/SystemUI/shared/src/com/android/systemui/unfold/UnfoldTransitionFactory.kt +9 −4 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.unfold.util.ScaleAwareTransitionProgressProvider import com.android.systemui.unfold.updates.DeviceFoldStateProvider import com.android.systemui.unfold.updates.hinge.EmptyHingeAngleProvider import com.android.systemui.unfold.updates.hinge.HingeSensorAngleProvider import com.android.systemui.unfold.util.ATraceLoggerTransitionProgressListener import java.lang.IllegalStateException import java.util.concurrent.Executor Loading @@ -46,7 +47,8 @@ fun createUnfoldTransitionProgressProvider( deviceStateManager: DeviceStateManager, sensorManager: SensorManager, mainHandler: Handler, mainExecutor: Executor mainExecutor: Executor, tracingTagPrefix: String ): UnfoldTransitionProgressProvider { if (!config.isEnabled) { Loading Loading @@ -78,7 +80,10 @@ fun createUnfoldTransitionProgressProvider( return ScaleAwareTransitionProgressProvider( unfoldTransitionProgressProvider, context.contentResolver ) ).apply { // Always present callback that logs animation beginning and end. addCallback(ATraceLoggerTransitionProgressListener(tracingTagPrefix)) } } fun createConfig(context: Context): UnfoldTransitionConfig = Loading packages/SystemUI/shared/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProvider.kt +1 −6 Original line number Diff line number Diff line Loading @@ -32,12 +32,7 @@ import com.android.systemui.unfold.updates.FoldStateProvider import com.android.systemui.unfold.updates.FoldStateProvider.FoldUpdate import com.android.systemui.unfold.updates.FoldStateProvider.FoldUpdatesListener /** * Maps fold updates to unfold transition progress using DynamicAnimation. * * TODO(b/193793338) Current limitations: * - doesn't handle postures */ /** Maps fold updates to unfold transition progress using DynamicAnimation. */ internal class PhysicsBasedUnfoldTransitionProgressProvider( private val foldStateProvider: FoldStateProvider ) : Loading packages/SystemUI/shared/src/com/android/systemui/unfold/util/ATraceLoggerTransitionProgressProvider.kt 0 → 100644 +29 −0 Original line number Diff line number Diff line package com.android.systemui.unfold.util import android.os.Trace import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener /** * Listener that logs start and end of the fold-unfold transition. * * [tracePrefix] arg helps in differentiating those. Currently, this is expected to be logged twice * for each fold/unfold: in (1) systemui and (2) launcher process. */ class ATraceLoggerTransitionProgressListener(tracePrefix: String) : TransitionProgressListener { private val traceName = "$tracePrefix#$UNFOLD_TRANSITION_TRACE_NAME" override fun onTransitionStarted() { Trace.beginAsyncSection(traceName, /* cookie= */ 0) } override fun onTransitionFinished() { Trace.endAsyncSection(traceName, /* cookie= */ 0) } override fun onTransitionProgress(progress: Float) { Trace.setCounter(traceName, (progress * 100).toLong()) } } private const val UNFOLD_TRANSITION_TRACE_NAME = "FoldUnfoldTransitionInProgress" packages/SystemUI/src/com/android/systemui/unfold/UnfoldTransitionModule.kt +2 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,8 @@ class UnfoldTransitionModule { deviceStateManager, sensorManager, handler, executor executor, tracingTagPrefix = "systemui" ) ) } else { Loading Loading
packages/SystemUI/shared/src/com/android/systemui/unfold/UnfoldTransitionFactory.kt +9 −4 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.unfold.util.ScaleAwareTransitionProgressProvider import com.android.systemui.unfold.updates.DeviceFoldStateProvider import com.android.systemui.unfold.updates.hinge.EmptyHingeAngleProvider import com.android.systemui.unfold.updates.hinge.HingeSensorAngleProvider import com.android.systemui.unfold.util.ATraceLoggerTransitionProgressListener import java.lang.IllegalStateException import java.util.concurrent.Executor Loading @@ -46,7 +47,8 @@ fun createUnfoldTransitionProgressProvider( deviceStateManager: DeviceStateManager, sensorManager: SensorManager, mainHandler: Handler, mainExecutor: Executor mainExecutor: Executor, tracingTagPrefix: String ): UnfoldTransitionProgressProvider { if (!config.isEnabled) { Loading Loading @@ -78,7 +80,10 @@ fun createUnfoldTransitionProgressProvider( return ScaleAwareTransitionProgressProvider( unfoldTransitionProgressProvider, context.contentResolver ) ).apply { // Always present callback that logs animation beginning and end. addCallback(ATraceLoggerTransitionProgressListener(tracingTagPrefix)) } } fun createConfig(context: Context): UnfoldTransitionConfig = Loading
packages/SystemUI/shared/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProvider.kt +1 −6 Original line number Diff line number Diff line Loading @@ -32,12 +32,7 @@ import com.android.systemui.unfold.updates.FoldStateProvider import com.android.systemui.unfold.updates.FoldStateProvider.FoldUpdate import com.android.systemui.unfold.updates.FoldStateProvider.FoldUpdatesListener /** * Maps fold updates to unfold transition progress using DynamicAnimation. * * TODO(b/193793338) Current limitations: * - doesn't handle postures */ /** Maps fold updates to unfold transition progress using DynamicAnimation. */ internal class PhysicsBasedUnfoldTransitionProgressProvider( private val foldStateProvider: FoldStateProvider ) : Loading
packages/SystemUI/shared/src/com/android/systemui/unfold/util/ATraceLoggerTransitionProgressProvider.kt 0 → 100644 +29 −0 Original line number Diff line number Diff line package com.android.systemui.unfold.util import android.os.Trace import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener /** * Listener that logs start and end of the fold-unfold transition. * * [tracePrefix] arg helps in differentiating those. Currently, this is expected to be logged twice * for each fold/unfold: in (1) systemui and (2) launcher process. */ class ATraceLoggerTransitionProgressListener(tracePrefix: String) : TransitionProgressListener { private val traceName = "$tracePrefix#$UNFOLD_TRANSITION_TRACE_NAME" override fun onTransitionStarted() { Trace.beginAsyncSection(traceName, /* cookie= */ 0) } override fun onTransitionFinished() { Trace.endAsyncSection(traceName, /* cookie= */ 0) } override fun onTransitionProgress(progress: Float) { Trace.setCounter(traceName, (progress * 100).toLong()) } } private const val UNFOLD_TRANSITION_TRACE_NAME = "FoldUnfoldTransitionInProgress"
packages/SystemUI/src/com/android/systemui/unfold/UnfoldTransitionModule.kt +2 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,8 @@ class UnfoldTransitionModule { deviceStateManager, sensorManager, handler, executor executor, tracingTagPrefix = "systemui" ) ) } else { Loading