Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dae24472 authored by Robin Lee's avatar Robin Lee Committed by Automerger Merge Worker
Browse files

Merge "Cancel current animation instead of candidate" into udc-dev am: db510b73

parents e754c805 db510b73
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -231,22 +231,20 @@ public class KeyguardService extends Service {
                );
            }

            public void mergeAnimation(IBinder transition, TransitionInfo info,
                    SurfaceControl.Transaction t, IBinder mergeTarget,
                    IRemoteTransitionFinishedCallback finishCallback) {
            public void mergeAnimation(IBinder candidateTransition, TransitionInfo candidateInfo,
                    SurfaceControl.Transaction candidateT, IBinder currentTransition,
                    IRemoteTransitionFinishedCallback candidateFinishCallback) {
                try {
                    final IRemoteTransitionFinishedCallback origFinishCB;
                    final IRemoteTransitionFinishedCallback currentFinishCB;
                    synchronized (mFinishCallbacks) {
                        origFinishCB = mFinishCallbacks.remove(transition);
                        currentFinishCB = mFinishCallbacks.remove(currentTransition);
                    }
                    info.releaseAllSurfaces();
                    t.close();
                    if (origFinishCB == null) {
                        // already finished (or not started yet), so do nothing.
                    if (currentFinishCB == null) {
                        Slog.e(TAG, "Called mergeAnimation, but finish callback is missing");
                        return;
                    }
                    runner.onAnimationCancelled(false /* isKeyguardOccluded */);
                    origFinishCB.onTransitionFinished(null /* wct */, null /* t */);
                    currentFinishCB.onTransitionFinished(null /* wct */, null /* t */);
                } catch (RemoteException e) {
                    // nothing, we'll just let it finish on its own I guess.
                }
+9 −4
Original line number Diff line number Diff line
@@ -953,10 +953,15 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,

                @Override
                public void onAnimationCancelled(boolean isKeyguardOccluded) {
                    mContext.getMainExecutor().execute(() -> {
                        if (mOccludeByDreamAnimator != null) {
                            mOccludeByDreamAnimator.cancel();
                        }
                    setOccluded(isKeyguardOccluded /* isOccluded */, false /* animate */);
                    });
                    // The value of isKeyguardOccluded here may come from mergeAnimation, which
                    // isn't reliable. In all cases, after running or cancelling this animation,
                    // keyguard should be occluded.
                    setOccluded(true /* isOccluded */, false /* animate */);
                    if (DEBUG) {
                        Log.d(TAG, "Occlude by Dream animation cancelled. Occluded state is now: "
                                + mOccluded);