Merge "Prevent double keyguardGoingAway, and finish cancelled animations." into sc-v2-dev am: 13453180ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16441222 Change-Id: Ia4cb37f56ecb4dc67b3c7abaf7d99de9bab841bb
This commit is contained in:
@@ -2090,6 +2090,15 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
|
||||
private final Runnable mKeyguardGoingAwayRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// If the keyguard is already going away, or it's about to because we are going to
|
||||
// trigger the going-away remote animation to show the surface behind, don't do it
|
||||
// again. That will cause the current animation to be cancelled unnecessarily.
|
||||
if (mKeyguardStateController.isKeyguardGoingAway()
|
||||
|| mSurfaceBehindRemoteAnimationRequested
|
||||
|| mSurfaceBehindRemoteAnimationRunning) {
|
||||
return;
|
||||
}
|
||||
|
||||
Trace.beginSection("KeyguardViewMediator.mKeyGuardGoingAwayRunnable");
|
||||
if (DEBUG) Log.d(TAG, "keyguardGoingAway");
|
||||
mKeyguardViewControllerLazy.get().keyguardGoingAway();
|
||||
@@ -2451,9 +2460,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
|
||||
|
||||
if (mSurfaceBehindRemoteAnimationFinishedCallback != null) {
|
||||
try {
|
||||
if (!cancelled) {
|
||||
mSurfaceBehindRemoteAnimationFinishedCallback.onAnimationFinished();
|
||||
}
|
||||
mSurfaceBehindRemoteAnimationFinishedCallback.onAnimationFinished();
|
||||
mSurfaceBehindRemoteAnimationFinishedCallback = null;
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
Reference in New Issue
Block a user