Fix dismiss callback when keyguard is dismissing.
AnimatingAway is set to false before hide is called, causing the dismiss action to be cancelled. This is breaking CarSysUI. Maintain parity with the legacy bouncer by setting disppear animation to null when we hide the bouncer so we maintain the state of animating away when we check to see if we should dismiss the callback. Fixes: 271166101 Test: Atest Change-Id: Ia51ec982dd78b69db82f69ae525e402bd461f294
This commit is contained in:
@@ -21,8 +21,6 @@ import android.content.res.ColorStateList
|
||||
import android.hardware.biometrics.BiometricSourceType
|
||||
import android.os.Handler
|
||||
import android.os.Trace
|
||||
import android.os.UserHandle
|
||||
import android.os.UserManager
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import com.android.keyguard.KeyguardConstants
|
||||
@@ -107,10 +105,9 @@ constructor(
|
||||
val panelExpansionAmount: Flow<Float> = repository.panelExpansionAmount
|
||||
/** 0f = bouncer fully hidden. 1f = bouncer fully visible. */
|
||||
val bouncerExpansion: Flow<Float> =
|
||||
combine(
|
||||
repository.panelExpansionAmount,
|
||||
repository.primaryBouncerShow
|
||||
) { panelExpansion, primaryBouncerIsShowing ->
|
||||
combine(repository.panelExpansionAmount, repository.primaryBouncerShow) {
|
||||
panelExpansion,
|
||||
primaryBouncerIsShowing ->
|
||||
if (primaryBouncerIsShowing) {
|
||||
1f - panelExpansion
|
||||
} else {
|
||||
@@ -196,6 +193,7 @@ constructor(
|
||||
dismissCallbackRegistry.notifyDismissCancelled()
|
||||
}
|
||||
|
||||
repository.setPrimaryStartDisappearAnimation(null)
|
||||
falsingCollector.onBouncerHidden()
|
||||
keyguardStateController.notifyPrimaryBouncerShowing(false /* showing */)
|
||||
cancelShowRunnable()
|
||||
@@ -307,11 +305,8 @@ constructor(
|
||||
runnable.run()
|
||||
return
|
||||
}
|
||||
val finishRunnable = Runnable {
|
||||
runnable.run()
|
||||
repository.setPrimaryStartDisappearAnimation(null)
|
||||
}
|
||||
repository.setPrimaryStartDisappearAnimation(finishRunnable)
|
||||
|
||||
repository.setPrimaryStartDisappearAnimation(runnable)
|
||||
}
|
||||
|
||||
/** Determine whether to show the side fps animation. */
|
||||
|
||||
@@ -131,6 +131,7 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
|
||||
verify(repository).setPrimaryShowingSoon(false)
|
||||
verify(repository).setPrimaryShow(false)
|
||||
verify(mPrimaryBouncerCallbackInteractor).dispatchVisibilityChanged(View.INVISIBLE)
|
||||
verify(repository).setPrimaryStartDisappearAnimation(null)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user