summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Julia Tuttle <juliatuttle@google.com> 2025-02-10 17:16:55 -0500
committer Julia Tuttle <juliatuttle@google.com> 2025-02-12 10:17:33 -0500
commitfbf05992f61a02318265135c354d9bbd6b9098ad (patch)
treee2eebb7c3155a404762b8ac2530e14517d7c3916
parentd71c01b7b0b5dd6291adfa744bbe86e89524f2ea (diff)
Make KeyguardRootViewModel and AODPromotedNotificationInteractor FlowDumpers
Bug: 369151941 Flag: EXEMPT logging Test: manual Change-Id: I7409fbf5ed59d9809ed5a9bba56de21443ab74c6
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt53
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractor.kt12
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModelKosmos.kt2
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractorKosmos.kt4
4 files changed, 50 insertions, 21 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt
index 62a5ebab29e0..3eab73ab1721 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt
@@ -25,6 +25,7 @@ import com.android.systemui.communal.domain.interactor.CommunalInteractor
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor
+import com.android.systemui.dump.DumpManager
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor
import com.android.systemui.keyguard.domain.interactor.PulseExpansionInteractor
@@ -47,6 +48,7 @@ import com.android.systemui.statusbar.notification.icon.ui.viewmodel.Notificatio
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.ScreenOffAnimationController
import com.android.systemui.util.kotlin.BooleanFlowOperators.anyOf
+import com.android.systemui.util.kotlin.FlowDumperImpl
import com.android.systemui.util.kotlin.pairwise
import com.android.systemui.util.kotlin.sample
import com.android.systemui.util.ui.AnimatableEvent
@@ -134,17 +136,21 @@ constructor(
private val aodBurnInViewModel: AodBurnInViewModel,
private val shadeInteractor: ShadeInteractor,
wallpaperFocalAreaInteractor: WallpaperFocalAreaInteractor,
-) {
+ dumpManager: DumpManager,
+) : FlowDumperImpl(dumpManager) {
val burnInLayerVisibility: Flow<Int> =
keyguardTransitionInteractor.startedKeyguardTransitionStep
.filter { it.to == AOD || it.to == LOCKSCREEN }
.map { VISIBLE }
+ .dumpWhileCollecting("burnInLayerVisibility")
val goneToAodTransition =
- keyguardTransitionInteractor.transition(
- edge = Edge.create(Scenes.Gone, AOD),
- edgeWithoutSceneContainer = Edge.create(GONE, AOD),
- )
+ keyguardTransitionInteractor
+ .transition(
+ edge = Edge.create(Scenes.Gone, AOD),
+ edgeWithoutSceneContainer = Edge.create(GONE, AOD),
+ )
+ .dumpWhileCollecting("goneToAodTransition")
private val goneToAodTransitionRunning: Flow<Boolean> =
goneToAodTransition
@@ -222,13 +228,15 @@ constructor(
)
/** Last point that the root view was tapped */
- val lastRootViewTapPosition: Flow<Point?> = keyguardInteractor.lastRootViewTapPosition
+ val lastRootViewTapPosition: Flow<Point?> =
+ keyguardInteractor.lastRootViewTapPosition.dumpWhileCollecting("lastRootViewTapPosition")
/**
* The keyguard root view can be clipped as the shade is pulled down, typically only for
* non-split shade cases.
*/
- val topClippingBounds: Flow<Int?> = keyguardInteractor.topClippingBounds
+ val topClippingBounds: Flow<Int?> =
+ keyguardInteractor.topClippingBounds.dumpWhileCollecting("topClippingBounds")
/** An observable for the alpha level for the entire keyguard root view. */
fun alpha(viewState: ViewStateAccessor): Flow<Float> {
@@ -287,30 +295,37 @@ constructor(
}
}
.distinctUntilChanged()
+ .dumpWhileCollecting("alpha")
}
val scaleFromZoomOut: Flow<Float> =
- keyguardInteractor.zoomOut.map { 1 - it * PUSHBACK_SCALE_FOR_LOCKSCREEN }
+ keyguardInteractor.zoomOut
+ .map { 1 - it * PUSHBACK_SCALE_FOR_LOCKSCREEN }
+ .dumpWhileCollecting("scaleFromZoomOut")
- val translationY: Flow<Float> = aodBurnInViewModel.movement.map { it.translationY.toFloat() }
+ val translationY: Flow<Float> =
+ aodBurnInViewModel.movement
+ .map { it.translationY.toFloat() }
+ .dumpWhileCollecting("translationY")
val translationX: Flow<StateToValue> =
merge(
- aodBurnInViewModel.movement.map {
- StateToValue(to = AOD, value = it.translationX.toFloat())
- },
- lockscreenToGlanceableHubTransitionViewModel.keyguardTranslationX,
- glanceableHubToLockscreenTransitionViewModel.keyguardTranslationX,
- )
+ aodBurnInViewModel.movement.map {
+ StateToValue(to = AOD, value = it.translationX.toFloat())
+ },
+ lockscreenToGlanceableHubTransitionViewModel.keyguardTranslationX,
+ glanceableHubToLockscreenTransitionViewModel.keyguardTranslationX,
+ )
+ .dumpWhileCollecting("translationX")
fun updateBurnInParams(params: BurnInParameters) {
aodBurnInViewModel.updateBurnInParams(params)
}
val scale: Flow<BurnInScaleViewModel> =
- aodBurnInViewModel.movement.map {
- BurnInScaleViewModel(scale = it.scale, scaleClockOnly = it.scaleClockOnly)
- }
+ aodBurnInViewModel.movement
+ .map { BurnInScaleViewModel(scale = it.scale, scaleClockOnly = it.scaleClockOnly) }
+ .dumpWhileCollecting("scale")
val isAodPromotedNotifVisible: StateFlow<Boolean> =
keyguardTransitionInteractor
@@ -321,6 +336,7 @@ constructor(
started = SharingStarted.WhileSubscribed(),
initialValue = false,
)
+ .dumpValue("isAodPromotedNotifVisible")
/** Is the notification icon container visible? */
val isNotifIconContainerVisible: StateFlow<AnimatedValue<Boolean>> =
@@ -376,6 +392,7 @@ constructor(
started = SharingStarted.WhileSubscribed(),
initialValue = AnimatedValue.NotAnimating(false),
)
+ .dumpValue("isNotifIconContainerVisible")
fun onNotificationContainerBoundsChanged(top: Float, bottom: Float, animate: Boolean = false) {
keyguardInteractor.setNotificationContainerBounds(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractor.kt
index e1317ef9ceef..393f95d3ad77 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractor.kt
@@ -17,9 +17,11 @@
package com.android.systemui.statusbar.notification.promoted.domain.interactor
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dump.DumpManager
import com.android.systemui.statusbar.notification.domain.interactor.ActiveNotificationsInteractor
import com.android.systemui.statusbar.notification.promoted.shared.model.PromotedNotificationContentModel
import com.android.systemui.statusbar.notification.promoted.shared.model.PromotedNotificationContentModel.Style
+import com.android.systemui.util.kotlin.FlowDumperImpl
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
@@ -27,11 +29,17 @@ import kotlinx.coroutines.flow.map
@SysUISingleton
class AODPromotedNotificationInteractor
@Inject
-constructor(activeNotificationsInteractor: ActiveNotificationsInteractor) {
+constructor(
+ activeNotificationsInteractor: ActiveNotificationsInteractor,
+ dumpManager: DumpManager,
+) : FlowDumperImpl(dumpManager) {
val content: Flow<PromotedNotificationContentModel?> =
activeNotificationsInteractor.topLevelRepresentativeNotifications.map { notifs ->
notifs.firstNotNullOfOrNull { it.promotedContent }
}
- val isPresent: Flow<Boolean> = content.map { (it != null) && (it.style != Style.Ineligible) }
+ val isPresent: Flow<Boolean> =
+ content
+ .map { (it != null) && (it.style != Style.Ineligible) }
+ .dumpWhileCollecting("isPresent")
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModelKosmos.kt
index ea3feeaf0854..c2e7c5278d1b 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModelKosmos.kt
@@ -17,6 +17,7 @@ package com.android.systemui.keyguard.ui.viewmodel
import com.android.systemui.communal.domain.interactor.communalInteractor
import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
+import com.android.systemui.dump.dumpManager
import com.android.systemui.keyguard.domain.interactor.keyguardInteractor
import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor
import com.android.systemui.keyguard.domain.interactor.pulseExpansionInteractor
@@ -90,5 +91,6 @@ val Kosmos.keyguardRootViewModel by Fixture {
aodBurnInViewModel = aodBurnInViewModel,
shadeInteractor = shadeInteractor,
wallpaperFocalAreaInteractor = wallpaperFocalAreaInteractor,
+ dumpManager = dumpManager,
)
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractorKosmos.kt
index 6351b52f0124..df1c82278bc2 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/promoted/domain/interactor/AODPromotedNotificationInteractorKosmos.kt
@@ -16,12 +16,14 @@
package com.android.systemui.statusbar.notification.promoted.domain.interactor
+import com.android.systemui.dump.dumpManager
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.statusbar.notification.domain.interactor.activeNotificationsInteractor
val Kosmos.aodPromotedNotificationInteractor by
Kosmos.Fixture {
AODPromotedNotificationInteractor(
- activeNotificationsInteractor = activeNotificationsInteractor
+ activeNotificationsInteractor = activeNotificationsInteractor,
+ dumpManager = dumpManager,
)
}