Merge "Revert "Dump NotificationWakeUpCoordinator state to bugreports."" into tm-qpr-dev am: c9e49d8ed2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19759777 Change-Id: Iad418772616297aa16bee79ee2855fa422dd48c0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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),
|
||||||
|
|||||||
Reference in New Issue
Block a user