Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +8 −10 Original line number Diff line number Diff line Loading @@ -260,22 +260,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. } Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +9 −4 Original line number Diff line number Diff line Loading @@ -951,10 +951,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); Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +8 −10 Original line number Diff line number Diff line Loading @@ -260,22 +260,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. } Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +9 −4 Original line number Diff line number Diff line Loading @@ -951,10 +951,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); Loading