Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java +10 −6 Original line number Diff line number Diff line Loading @@ -146,13 +146,13 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { }); } }; try { // If the remote is actually in the same process, then make a copy of parameters since // remote impls assume that they have to clean-up native references. final SurfaceControl.Transaction remoteStartT = copyIfLocal(startTransaction, remote.getRemoteTransition()); final TransitionInfo remoteInfo = remoteStartT == startTransaction ? info : info.localRemoteCopy(); try { handleDeath(remote.asBinder(), finishCallback); remote.getRemoteTransition().startAnimation(transition, remoteInfo, remoteStartT, cb); // assume that remote will apply the start transaction. Loading @@ -160,6 +160,10 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { Transitions.setRunningRemoteTransitionDelegate(remote.getAppThread()); } catch (RemoteException e) { Log.e(Transitions.TAG, "Error running remote transition.", e); if (remoteStartT != startTransaction) { remoteStartT.close(); } startTransaction.apply(); unhandleDeath(remote.asBinder(), finishCallback); mRequestedRemotes.remove(transition); mMainExecutor.execute(() -> finishCallback.onTransitionFinished(null /* wct */)); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java +10 −6 Original line number Diff line number Diff line Loading @@ -146,13 +146,13 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { }); } }; try { // If the remote is actually in the same process, then make a copy of parameters since // remote impls assume that they have to clean-up native references. final SurfaceControl.Transaction remoteStartT = copyIfLocal(startTransaction, remote.getRemoteTransition()); final TransitionInfo remoteInfo = remoteStartT == startTransaction ? info : info.localRemoteCopy(); try { handleDeath(remote.asBinder(), finishCallback); remote.getRemoteTransition().startAnimation(transition, remoteInfo, remoteStartT, cb); // assume that remote will apply the start transaction. Loading @@ -160,6 +160,10 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { Transitions.setRunningRemoteTransitionDelegate(remote.getAppThread()); } catch (RemoteException e) { Log.e(Transitions.TAG, "Error running remote transition.", e); if (remoteStartT != startTransaction) { remoteStartT.close(); } startTransaction.apply(); unhandleDeath(remote.asBinder(), finishCallback); mRequestedRemotes.remove(transition); mMainExecutor.execute(() -> finishCallback.onTransitionFinished(null /* wct */)); Loading