Unset the notification expansion state when fully hidden

If the bouncer is showing after dragging down with locked
notifications and the screen locked, the visibleForExpansion
state wasn't properly reset. Even though we don't ask for
the bouncer when bypassing anymore, we're adding a
safeguard in case we change out minds. Whenever the notifications
are fully hidden, we unset the visibleForExpansion state.

Fixes: 	138261144
Test: drag down with bypass on, redaction and enforcing bouncer, turn off, then reach. No shelf should be visible
Change-Id: I2d237ce67da0e8fd3bf9e8d40e146f3a478ac5ce
This commit is contained in:
Selim Cinek
2019-07-29 18:38:12 -07:00
parent 2738aa3f79
commit 8a66e69242

View File

@@ -122,6 +122,17 @@ class NotificationWakeUpCoordinator @Inject constructor(
mHeadsUpManagerPhone.addListener(this)
statusBarStateController.addCallback(this)
mDozeParameters = DozeParameters.getInstance(mContext)
addListener(object : WakeUpListener {
override fun onFullyHiddenChanged(isFullyHidden: Boolean) {
if (isFullyHidden && mNotificationsVisibleForExpansion) {
// When the notification becomes fully invisible, let's make sure our expansion
// flag also changes. This can happen if the bouncer shows when dragging down
// and then the screen turning off, where we don't reset this state.
setNotificationsVisibleForExpansion(visible = false, animate = false,
increaseSpeed = false)
}
}
});
}
fun setStackScroller(stackScroller: NotificationStackScrollLayout) {