Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractor.kt +11 −7 Original line number Original line Diff line number Diff line Loading @@ -19,8 +19,10 @@ package com.android.systemui.keyguard.domain.interactor import android.annotation.SuppressLint import android.annotation.SuppressLint import android.util.Log import android.util.Log import com.android.app.tracing.coroutines.flow.filterTraced import com.android.app.tracing.coroutines.flow.traceAs import com.android.app.tracing.coroutines.flow.traceAs import com.android.app.tracing.coroutines.launchTraced as launch import com.android.app.tracing.coroutines.launchTraced as launch import com.android.app.tracing.coroutines.traceCoroutine import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.SceneKey import com.android.compose.animation.scene.SceneKey import com.android.systemui.Flags.keyguardTransitionForceFinishOnScreenOff import com.android.systemui.Flags.keyguardTransitionForceFinishOnScreenOff Loading Loading @@ -237,7 +239,7 @@ constructor( if (edge.isSceneWildcardEdge()) { if (edge.isSceneWildcardEdge()) { return simulateTransitionStepsForSceneTransitions(edge) return simulateTransitionStepsForSceneTransitions(edge) } } return flow.filter { step -> return flow.filterTraced("stl-filter") { step -> val fromScene = val fromScene = when (edge) { when (edge) { is Edge.StateToState -> edge.from?.mapToSceneContainerScene() is Edge.StateToState -> edge.from?.mapToSceneContainerScene() Loading Loading @@ -276,7 +278,7 @@ constructor( step.transitionState == TransitionState.CANCELED) && step.transitionState == TransitionState.CANCELED) && sceneTransitionPair.value.previousValue.isTransitioning(fromScene, toScene) sceneTransitionPair.value.previousValue.isTransitioning(fromScene, toScene) return@filter isTransitioningBetweenLockscreenStates || return@filterTraced isTransitioningBetweenLockscreenStates || isTransitioningBetweenDesiredScenes || isTransitioningBetweenDesiredScenes || terminalStepBelongsToPreviousTransition || terminalStepBelongsToPreviousTransition || belongsToInstantReversedTransition belongsToInstantReversedTransition Loading Loading @@ -365,27 +367,27 @@ constructor( coroutineScope { coroutineScope { collect { value -> collect { value -> job?.cancelAndJoin() traceCoroutine("cancelAndJoin") { job?.cancelAndJoin() } job = launch { job = launch("inner") { val innerFlow = transform(value) val innerFlow = transform(value) try { try { innerFlow.collect { step -> innerFlow.collect { step -> if (step.transitionState == TransitionState.STARTED) { if (step.transitionState == TransitionState.STARTED) { startedEmitted = true startedEmitted = true } } send(step) traceCoroutine("send($step)") { send(step) } } } } finally { } finally { if (startedEmitted) { if (startedEmitted) { send( val step = TransitionStep( TransitionStep( from = UNDEFINED, from = UNDEFINED, to = UNDEFINED, to = UNDEFINED, value = 1f, value = 1f, transitionState = TransitionState.FINISHED, transitionState = TransitionState.FINISHED, ) ) ) traceCoroutine("send($step)") { send(step) } startedEmitted = false startedEmitted = false } } } } Loading @@ -393,6 +395,7 @@ constructor( } } } } } } .traceAs("flatMapLatestWithFinished") /** /** * Converts old KTF states to UNDEFINED when [SceneContainerFlag] is enabled. * Converts old KTF states to UNDEFINED when [SceneContainerFlag] is enabled. Loading Loading @@ -548,6 +551,7 @@ constructor( } } } } .onStart { emit(false) } .onStart { emit(false) } .traceAs("isInTransition-$edge-$edgeWithoutSceneContainer") .distinctUntilChanged() .distinctUntilChanged() } } Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/LightRevealScrimViewBinder.kt +0 −1 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.shared.Flags.ambientAod import com.android.systemui.shared.Flags.ambientAod import com.android.systemui.statusbar.LightRevealScrim import com.android.systemui.statusbar.LightRevealScrim import com.android.systemui.wallpapers.ui.viewmodel.WallpaperViewModel import com.android.systemui.wallpapers.ui.viewmodel.WallpaperViewModel import com.android.app.tracing.coroutines.launchTraced as launch object LightRevealScrimViewBinder { object LightRevealScrimViewBinder { @JvmStatic @JvmStatic Loading packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt +9 −5 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.scene.domain.interactor package com.android.systemui.scene.domain.interactor import com.android.app.tracing.coroutines.flow.stateInTraced import com.android.compose.animation.scene.ContentKey import com.android.compose.animation.scene.ContentKey import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.OverlayKey import com.android.compose.animation.scene.OverlayKey Loading Loading @@ -52,7 +53,6 @@ import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.update import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import kotlinx.coroutines.launch Loading Loading @@ -124,7 +124,8 @@ constructor( val transitionState: StateFlow<ObservableTransitionState> = val transitionState: StateFlow<ObservableTransitionState> = repository.transitionState repository.transitionState .onEach { logger.logSceneTransition(it) } .onEach { logger.logSceneTransition(it) } .stateIn( .stateInTraced( name = "transitionState", scope = applicationScope, scope = applicationScope, started = SharingStarted.Eagerly, started = SharingStarted.Eagerly, initialValue = repository.transitionState.value, initialValue = repository.transitionState.value, Loading @@ -145,7 +146,8 @@ constructor( is ObservableTransitionState.Transition -> state.toContent is ObservableTransitionState.Transition -> state.toContent } } } } .stateIn( .stateInTraced( name = "transitioningTo", scope = applicationScope, scope = applicationScope, started = SharingStarted.WhileSubscribed(), started = SharingStarted.WhileSubscribed(), initialValue = null, initialValue = null, Loading @@ -164,7 +166,8 @@ constructor( is ObservableTransitionState.Idle -> flowOf(false) is ObservableTransitionState.Idle -> flowOf(false) } } } } .stateIn( .stateInTraced( name = "isTransitionUserInputOngoing", scope = applicationScope, scope = applicationScope, started = SharingStarted.WhileSubscribed(), started = SharingStarted.WhileSubscribed(), initialValue = false, initialValue = false, Loading @@ -183,7 +186,8 @@ constructor( activeTransitionAnimationCount = activeTransitionAnimationCount, activeTransitionAnimationCount = activeTransitionAnimationCount, ) ) } } .stateIn( .stateInTraced( name = "isVisible", scope = applicationScope, scope = applicationScope, started = SharingStarted.WhileSubscribed(), started = SharingStarted.WhileSubscribed(), initialValue = isVisibleInternal(), initialValue = isVisibleInternal(), Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractor.kt +11 −7 Original line number Original line Diff line number Diff line Loading @@ -19,8 +19,10 @@ package com.android.systemui.keyguard.domain.interactor import android.annotation.SuppressLint import android.annotation.SuppressLint import android.util.Log import android.util.Log import com.android.app.tracing.coroutines.flow.filterTraced import com.android.app.tracing.coroutines.flow.traceAs import com.android.app.tracing.coroutines.flow.traceAs import com.android.app.tracing.coroutines.launchTraced as launch import com.android.app.tracing.coroutines.launchTraced as launch import com.android.app.tracing.coroutines.traceCoroutine import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.SceneKey import com.android.compose.animation.scene.SceneKey import com.android.systemui.Flags.keyguardTransitionForceFinishOnScreenOff import com.android.systemui.Flags.keyguardTransitionForceFinishOnScreenOff Loading Loading @@ -237,7 +239,7 @@ constructor( if (edge.isSceneWildcardEdge()) { if (edge.isSceneWildcardEdge()) { return simulateTransitionStepsForSceneTransitions(edge) return simulateTransitionStepsForSceneTransitions(edge) } } return flow.filter { step -> return flow.filterTraced("stl-filter") { step -> val fromScene = val fromScene = when (edge) { when (edge) { is Edge.StateToState -> edge.from?.mapToSceneContainerScene() is Edge.StateToState -> edge.from?.mapToSceneContainerScene() Loading Loading @@ -276,7 +278,7 @@ constructor( step.transitionState == TransitionState.CANCELED) && step.transitionState == TransitionState.CANCELED) && sceneTransitionPair.value.previousValue.isTransitioning(fromScene, toScene) sceneTransitionPair.value.previousValue.isTransitioning(fromScene, toScene) return@filter isTransitioningBetweenLockscreenStates || return@filterTraced isTransitioningBetweenLockscreenStates || isTransitioningBetweenDesiredScenes || isTransitioningBetweenDesiredScenes || terminalStepBelongsToPreviousTransition || terminalStepBelongsToPreviousTransition || belongsToInstantReversedTransition belongsToInstantReversedTransition Loading Loading @@ -365,27 +367,27 @@ constructor( coroutineScope { coroutineScope { collect { value -> collect { value -> job?.cancelAndJoin() traceCoroutine("cancelAndJoin") { job?.cancelAndJoin() } job = launch { job = launch("inner") { val innerFlow = transform(value) val innerFlow = transform(value) try { try { innerFlow.collect { step -> innerFlow.collect { step -> if (step.transitionState == TransitionState.STARTED) { if (step.transitionState == TransitionState.STARTED) { startedEmitted = true startedEmitted = true } } send(step) traceCoroutine("send($step)") { send(step) } } } } finally { } finally { if (startedEmitted) { if (startedEmitted) { send( val step = TransitionStep( TransitionStep( from = UNDEFINED, from = UNDEFINED, to = UNDEFINED, to = UNDEFINED, value = 1f, value = 1f, transitionState = TransitionState.FINISHED, transitionState = TransitionState.FINISHED, ) ) ) traceCoroutine("send($step)") { send(step) } startedEmitted = false startedEmitted = false } } } } Loading @@ -393,6 +395,7 @@ constructor( } } } } } } .traceAs("flatMapLatestWithFinished") /** /** * Converts old KTF states to UNDEFINED when [SceneContainerFlag] is enabled. * Converts old KTF states to UNDEFINED when [SceneContainerFlag] is enabled. Loading Loading @@ -548,6 +551,7 @@ constructor( } } } } .onStart { emit(false) } .onStart { emit(false) } .traceAs("isInTransition-$edge-$edgeWithoutSceneContainer") .distinctUntilChanged() .distinctUntilChanged() } } Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/LightRevealScrimViewBinder.kt +0 −1 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.shared.Flags.ambientAod import com.android.systemui.shared.Flags.ambientAod import com.android.systemui.statusbar.LightRevealScrim import com.android.systemui.statusbar.LightRevealScrim import com.android.systemui.wallpapers.ui.viewmodel.WallpaperViewModel import com.android.systemui.wallpapers.ui.viewmodel.WallpaperViewModel import com.android.app.tracing.coroutines.launchTraced as launch object LightRevealScrimViewBinder { object LightRevealScrimViewBinder { @JvmStatic @JvmStatic Loading
packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt +9 −5 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.scene.domain.interactor package com.android.systemui.scene.domain.interactor import com.android.app.tracing.coroutines.flow.stateInTraced import com.android.compose.animation.scene.ContentKey import com.android.compose.animation.scene.ContentKey import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.OverlayKey import com.android.compose.animation.scene.OverlayKey Loading Loading @@ -52,7 +53,6 @@ import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.update import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import kotlinx.coroutines.launch Loading Loading @@ -124,7 +124,8 @@ constructor( val transitionState: StateFlow<ObservableTransitionState> = val transitionState: StateFlow<ObservableTransitionState> = repository.transitionState repository.transitionState .onEach { logger.logSceneTransition(it) } .onEach { logger.logSceneTransition(it) } .stateIn( .stateInTraced( name = "transitionState", scope = applicationScope, scope = applicationScope, started = SharingStarted.Eagerly, started = SharingStarted.Eagerly, initialValue = repository.transitionState.value, initialValue = repository.transitionState.value, Loading @@ -145,7 +146,8 @@ constructor( is ObservableTransitionState.Transition -> state.toContent is ObservableTransitionState.Transition -> state.toContent } } } } .stateIn( .stateInTraced( name = "transitioningTo", scope = applicationScope, scope = applicationScope, started = SharingStarted.WhileSubscribed(), started = SharingStarted.WhileSubscribed(), initialValue = null, initialValue = null, Loading @@ -164,7 +166,8 @@ constructor( is ObservableTransitionState.Idle -> flowOf(false) is ObservableTransitionState.Idle -> flowOf(false) } } } } .stateIn( .stateInTraced( name = "isTransitionUserInputOngoing", scope = applicationScope, scope = applicationScope, started = SharingStarted.WhileSubscribed(), started = SharingStarted.WhileSubscribed(), initialValue = false, initialValue = false, Loading @@ -183,7 +186,8 @@ constructor( activeTransitionAnimationCount = activeTransitionAnimationCount, activeTransitionAnimationCount = activeTransitionAnimationCount, ) ) } } .stateIn( .stateInTraced( name = "isVisible", scope = applicationScope, scope = applicationScope, started = SharingStarted.WhileSubscribed(), started = SharingStarted.WhileSubscribed(), initialValue = isVisibleInternal(), initialValue = isVisibleInternal(), Loading