Merge "Revert "Dump NotificationWakeUpCoordinator state to bugreports."" into tm-qpr-dev

This commit is contained in:
Julia Reynolds
2022-08-30 16:16:37 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 39 deletions

View File

@@ -18,10 +18,8 @@ package com.android.systemui.statusbar.notification
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.util.FloatProperty import android.util.FloatProperty
import com.android.systemui.Dumpable
import com.android.systemui.animation.Interpolators import com.android.systemui.animation.Interpolators
import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -34,20 +32,17 @@ import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener
import com.android.systemui.statusbar.policy.HeadsUpManager import com.android.systemui.statusbar.policy.HeadsUpManager
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener
import java.io.PrintWriter
import javax.inject.Inject import javax.inject.Inject
import kotlin.math.min import kotlin.math.min
@SysUISingleton @SysUISingleton
class NotificationWakeUpCoordinator @Inject constructor( class NotificationWakeUpCoordinator @Inject constructor(
dumpManager: DumpManager,
private val mHeadsUpManager: HeadsUpManager, private val mHeadsUpManager: HeadsUpManager,
private val statusBarStateController: StatusBarStateController, private val statusBarStateController: StatusBarStateController,
private val bypassController: KeyguardBypassController, private val bypassController: KeyguardBypassController,
private val dozeParameters: DozeParameters, private val dozeParameters: DozeParameters,
private val screenOffAnimationController: ScreenOffAnimationController private val screenOffAnimationController: ScreenOffAnimationController
) : OnHeadsUpChangedListener, StatusBarStateController.StateListener, PanelExpansionListener, ) : OnHeadsUpChangedListener, StatusBarStateController.StateListener, PanelExpansionListener {
Dumpable {
private val mNotificationVisibility = object : FloatProperty<NotificationWakeUpCoordinator>( private val mNotificationVisibility = object : FloatProperty<NotificationWakeUpCoordinator>(
"notificationVisibility") { "notificationVisibility") {
@@ -65,7 +60,6 @@ class NotificationWakeUpCoordinator @Inject constructor(
private var mLinearDozeAmount: Float = 0.0f private var mLinearDozeAmount: Float = 0.0f
private var mDozeAmount: Float = 0.0f private var mDozeAmount: Float = 0.0f
private var mDozeAmountSource: String = "init"
private var mNotificationVisibleAmount = 0.0f private var mNotificationVisibleAmount = 0.0f
private var mNotificationsVisible = false private var mNotificationsVisible = false
private var mNotificationsVisibleForExpansion = false private var mNotificationsVisibleForExpansion = false
@@ -148,7 +142,6 @@ class NotificationWakeUpCoordinator @Inject constructor(
} }
init { init {
dumpManager.registerDumpable(this)
mHeadsUpManager.addListener(this) mHeadsUpManager.addListener(this)
statusBarStateController.addCallback(this) statusBarStateController.addCallback(this)
addListener(object : WakeUpListener { addListener(object : WakeUpListener {
@@ -255,14 +248,13 @@ class NotificationWakeUpCoordinator @Inject constructor(
// Let's notify the scroller that an animation started // Let's notify the scroller that an animation started
notifyAnimationStart(mLinearDozeAmount == 1.0f) notifyAnimationStart(mLinearDozeAmount == 1.0f)
} }
setDozeAmount(linear, eased, source = "StatusBar") setDozeAmount(linear, eased)
} }
fun setDozeAmount(linear: Float, eased: Float, source: String) { fun setDozeAmount(linear: Float, eased: Float) {
val changed = linear != mLinearDozeAmount val changed = linear != mLinearDozeAmount
mLinearDozeAmount = linear mLinearDozeAmount = linear
mDozeAmount = eased mDozeAmount = eased
mDozeAmountSource = source
mStackScrollerController.setDozeAmount(mDozeAmount) mStackScrollerController.setDozeAmount(mDozeAmount)
updateHideAmount() updateHideAmount()
if (changed && linear == 0.0f) { if (changed && linear == 0.0f) {
@@ -279,7 +271,7 @@ class NotificationWakeUpCoordinator @Inject constructor(
// undefined state, so it's an indication that we should do state cleanup. We override // undefined state, so it's an indication that we should do state cleanup. We override
// the doze amount to 0f (not dozing) so that the notifications are no longer hidden. // the doze amount to 0f (not dozing) so that the notifications are no longer hidden.
// See: UnlockedScreenOffAnimationController.onFinishedWakingUp() // See: UnlockedScreenOffAnimationController.onFinishedWakingUp()
setDozeAmount(0f, 0f, source = "Override: Shade->Shade (lock cancelled by unlock)") setDozeAmount(0f, 0f)
} }
if (overrideDozeAmountIfAnimatingScreenOff(mLinearDozeAmount)) { if (overrideDozeAmountIfAnimatingScreenOff(mLinearDozeAmount)) {
@@ -319,11 +311,12 @@ class NotificationWakeUpCoordinator @Inject constructor(
*/ */
private fun overrideDozeAmountIfBypass(): Boolean { private fun overrideDozeAmountIfBypass(): Boolean {
if (bypassController.bypassEnabled) { if (bypassController.bypassEnabled) {
if (statusBarStateController.state == StatusBarState.KEYGUARD) { var amount = 1.0f
setDozeAmount(1f, 1f, source = "Override: bypass (keyguard)") if (statusBarStateController.state == StatusBarState.SHADE ||
} else { statusBarStateController.state == StatusBarState.SHADE_LOCKED) {
setDozeAmount(0f, 0f, source = "Override: bypass (shade)") amount = 0.0f
} }
setDozeAmount(amount, amount)
return true return true
} }
return false return false
@@ -339,7 +332,7 @@ class NotificationWakeUpCoordinator @Inject constructor(
*/ */
private fun overrideDozeAmountIfAnimatingScreenOff(linearDozeAmount: Float): Boolean { private fun overrideDozeAmountIfAnimatingScreenOff(linearDozeAmount: Float): Boolean {
if (screenOffAnimationController.overrideNotificationsFullyDozingOnKeyguard()) { if (screenOffAnimationController.overrideNotificationsFullyDozingOnKeyguard()) {
setDozeAmount(1f, 1f, source = "Override: animating screen off") setDozeAmount(1f, 1f)
return true return true
} }
@@ -433,24 +426,4 @@ class NotificationWakeUpCoordinator @Inject constructor(
*/ */
@JvmDefault fun onPulseExpansionChanged(expandingChanged: Boolean) {} @JvmDefault fun onPulseExpansionChanged(expandingChanged: Boolean) {}
} }
override fun dump(pw: PrintWriter, args: Array<out String>) {
pw.println("mLinearDozeAmount: $mLinearDozeAmount")
pw.println("mDozeAmount: $mDozeAmount")
pw.println("mDozeAmountSource: $mDozeAmountSource")
pw.println("mNotificationVisibleAmount: $mNotificationVisibleAmount")
pw.println("mNotificationsVisible: $mNotificationsVisible")
pw.println("mNotificationsVisibleForExpansion: $mNotificationsVisibleForExpansion")
pw.println("mVisibilityAmount: $mVisibilityAmount")
pw.println("mLinearVisibilityAmount: $mLinearVisibilityAmount")
pw.println("pulseExpanding: $pulseExpanding")
pw.println("state: ${StatusBarState.toString(state)}")
pw.println("fullyAwake: $fullyAwake")
pw.println("wakingUp: $wakingUp")
pw.println("willWakeUp: $willWakeUp")
pw.println("collapsedEnoughToHide: $collapsedEnoughToHide")
pw.println("pulsing: $pulsing")
pw.println("notificationsFullyHidden: $notificationsFullyHidden")
pw.println("canShowPulsingHuns: $canShowPulsingHuns")
}
} }

View File

@@ -458,7 +458,6 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
NotificationWakeUpCoordinator coordinator = NotificationWakeUpCoordinator coordinator =
new NotificationWakeUpCoordinator( new NotificationWakeUpCoordinator(
mDumpManager,
mock(HeadsUpManagerPhone.class), mock(HeadsUpManagerPhone.class),
new StatusBarStateControllerImpl(new UiEventLoggerFake(), mDumpManager, new StatusBarStateControllerImpl(new UiEventLoggerFake(), mDumpManager,
mInteractionJankMonitor), mInteractionJankMonitor),