Merge "Only execute relayout after animation is over"
This commit is contained in:
@@ -100,6 +100,7 @@ import com.android.keyguard.KeyguardViewController;
|
||||
import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.keyguard.mediator.ScreenOnCoordinator;
|
||||
import com.android.systemui.CoreStartable;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.Dumpable;
|
||||
import com.android.systemui.animation.Interpolators;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
@@ -2345,16 +2346,20 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
|
||||
// Block the panel from expanding, in case we were doing a swipe to dismiss gesture.
|
||||
mKeyguardViewControllerLazy.get().blockPanelExpansionFromCurrentTouch();
|
||||
final boolean wasShowing = mShowing;
|
||||
onKeyguardExitFinished();
|
||||
|
||||
if (mKeyguardStateController.isDismissingFromSwipe() || wasShowing) {
|
||||
mKeyguardUnlockAnimationControllerLazy.get().hideKeyguardViewAfterRemoteAnimation();
|
||||
}
|
||||
|
||||
finishSurfaceBehindRemoteAnimation(cancelled);
|
||||
mSurfaceBehindRemoteAnimationRequested = false;
|
||||
mKeyguardUnlockAnimationControllerLazy.get().notifyFinishedKeyguardExitAnimation();
|
||||
InteractionJankMonitor.getInstance().end(CUJ_LOCKSCREEN_UNLOCK_ANIMATION);
|
||||
|
||||
// Post layout changes to the next frame, so we don't hang at the end of the animation.
|
||||
DejankUtils.postAfterTraversal(() -> {
|
||||
onKeyguardExitFinished();
|
||||
|
||||
if (mKeyguardStateController.isDismissingFromSwipe() || wasShowing) {
|
||||
mKeyguardUnlockAnimationControllerLazy.get().hideKeyguardViewAfterRemoteAnimation();
|
||||
}
|
||||
|
||||
finishSurfaceBehindRemoteAnimation(cancelled);
|
||||
mSurfaceBehindRemoteAnimationRequested = false;
|
||||
mKeyguardUnlockAnimationControllerLazy.get().notifyFinishedKeyguardExitAnimation();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user