Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbf05992 authored by Julia Tuttle's avatar Julia Tuttle
Browse files

Make KeyguardRootViewModel and AODPromotedNotificationInteractor FlowDumpers

Bug: 369151941
Flag: EXEMPT logging
Test: manual
Change-Id: I7409fbf5ed59d9809ed5a9bba56de21443ab74c6
parent d71c01b7
Loading
Loading
Loading
Loading
+35 −18
Original line number Diff line number Diff line
@@ -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(
        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,12 +295,18 @@ 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(
@@ -302,15 +316,16 @@ constructor(
                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(
+10 −2
Original line number Diff line number Diff line
@@ -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")
}
+2 −0
Original line number Diff line number Diff line
@@ -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,
    )
}
+3 −1
Original line number Diff line number Diff line
@@ -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,
        )
    }