Loading core/java/android/window/IRemoteTransitionFinishedCallback.aidl +5 −1 Original line number Diff line number Diff line Loading @@ -16,14 +16,18 @@ package android.window; import android.view.SurfaceControl; import android.window.WindowContainerTransaction; /** * Interface to be invoked by the controlling process when a remote transition has finished. * * @see IRemoteTransition * @param wct An optional WindowContainerTransaction to apply before the transition finished. * @param sct An optional Surface Transaction that is added to the end of the finish/cleanup * transaction. This is applied by shell.Transitions (before submitting the wct). * {@hide} */ interface IRemoteTransitionFinishedCallback { void onTransitionFinished(in WindowContainerTransaction wct); void onTransitionFinished(in WindowContainerTransaction wct, in SurfaceControl.Transaction sct); } libs/WindowManager/Shell/src/com/android/wm/shell/transition/OneShotRemoteHandler.java +10 −4 Original line number Diff line number Diff line Loading @@ -71,12 +71,17 @@ public class OneShotRemoteHandler implements Transitions.TransitionHandler { }; IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { if (mRemote.asBinder() != null) { mRemote.asBinder().unlinkToDeath(remoteDied, 0 /* flags */); } mMainExecutor.execute( () -> finishCallback.onTransitionFinished(wct, null /* wctCB */)); mMainExecutor.execute(() -> { if (sct != null) { finishTransaction.merge(sct); } finishCallback.onTransitionFinished(wct, null /* wctCB */); }); } }; try { Loading @@ -103,7 +108,8 @@ public class OneShotRemoteHandler implements Transitions.TransitionHandler { IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { mMainExecutor.execute( () -> finishCallback.onTransitionFinished(wct, null /* wctCB */)); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java +7 −2 Original line number Diff line number Diff line Loading @@ -133,11 +133,15 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { }; IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { if (remote.asBinder() != null) { remote.asBinder().unlinkToDeath(remoteDied, 0 /* flags */); } mMainExecutor.execute(() -> { if (sct != null) { finishTransaction.merge(sct); } mRequestedRemotes.remove(transition); finishCallback.onTransitionFinished(wct, null /* wctCB */); }); Loading Loading @@ -171,7 +175,8 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { mMainExecutor.execute(() -> { if (!mRequestedRemotes.containsKey(mergeTarget)) { Log.e(TAG, "Merged transition finished after it's mergeTarget (the " Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTransitionTests.java +1 −1 Original line number Diff line number Diff line Loading @@ -346,7 +346,7 @@ public class SplitTransitionTests extends ShellTestCase { IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { mCalled = true; finishCallback.onTransitionFinished(mRemoteFinishWCT); finishCallback.onTransitionFinished(mRemoteFinishWCT, null /* sct */); } @Override Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java +3 −3 Original line number Diff line number Diff line Loading @@ -213,7 +213,7 @@ public class ShellTransitionTests { SurfaceControl.Transaction t, IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { remoteCalled[0] = true; finishCallback.onTransitionFinished(remoteFinishWCT); finishCallback.onTransitionFinished(remoteFinishWCT, null /* sct */); } @Override Loading Loading @@ -287,7 +287,7 @@ public class ShellTransitionTests { SurfaceControl.Transaction t, IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { remoteCalled[0] = true; finishCallback.onTransitionFinished(null /* wct */); finishCallback.onTransitionFinished(null /* wct */, null /* sct */); } @Override Loading Loading @@ -334,7 +334,7 @@ public class ShellTransitionTests { SurfaceControl.Transaction t, IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { remoteCalled[0] = true; finishCallback.onTransitionFinished(remoteFinishWCT); finishCallback.onTransitionFinished(remoteFinishWCT, null /* sct */); } @Override Loading Loading
core/java/android/window/IRemoteTransitionFinishedCallback.aidl +5 −1 Original line number Diff line number Diff line Loading @@ -16,14 +16,18 @@ package android.window; import android.view.SurfaceControl; import android.window.WindowContainerTransaction; /** * Interface to be invoked by the controlling process when a remote transition has finished. * * @see IRemoteTransition * @param wct An optional WindowContainerTransaction to apply before the transition finished. * @param sct An optional Surface Transaction that is added to the end of the finish/cleanup * transaction. This is applied by shell.Transitions (before submitting the wct). * {@hide} */ interface IRemoteTransitionFinishedCallback { void onTransitionFinished(in WindowContainerTransaction wct); void onTransitionFinished(in WindowContainerTransaction wct, in SurfaceControl.Transaction sct); }
libs/WindowManager/Shell/src/com/android/wm/shell/transition/OneShotRemoteHandler.java +10 −4 Original line number Diff line number Diff line Loading @@ -71,12 +71,17 @@ public class OneShotRemoteHandler implements Transitions.TransitionHandler { }; IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { if (mRemote.asBinder() != null) { mRemote.asBinder().unlinkToDeath(remoteDied, 0 /* flags */); } mMainExecutor.execute( () -> finishCallback.onTransitionFinished(wct, null /* wctCB */)); mMainExecutor.execute(() -> { if (sct != null) { finishTransaction.merge(sct); } finishCallback.onTransitionFinished(wct, null /* wctCB */); }); } }; try { Loading @@ -103,7 +108,8 @@ public class OneShotRemoteHandler implements Transitions.TransitionHandler { IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { mMainExecutor.execute( () -> finishCallback.onTransitionFinished(wct, null /* wctCB */)); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java +7 −2 Original line number Diff line number Diff line Loading @@ -133,11 +133,15 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { }; IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { if (remote.asBinder() != null) { remote.asBinder().unlinkToDeath(remoteDied, 0 /* flags */); } mMainExecutor.execute(() -> { if (sct != null) { finishTransaction.merge(sct); } mRequestedRemotes.remove(transition); finishCallback.onTransitionFinished(wct, null /* wctCB */); }); Loading Loading @@ -171,7 +175,8 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { IRemoteTransitionFinishedCallback cb = new IRemoteTransitionFinishedCallback.Stub() { @Override public void onTransitionFinished(WindowContainerTransaction wct) { public void onTransitionFinished(WindowContainerTransaction wct, SurfaceControl.Transaction sct) { mMainExecutor.execute(() -> { if (!mRequestedRemotes.containsKey(mergeTarget)) { Log.e(TAG, "Merged transition finished after it's mergeTarget (the " Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTransitionTests.java +1 −1 Original line number Diff line number Diff line Loading @@ -346,7 +346,7 @@ public class SplitTransitionTests extends ShellTestCase { IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { mCalled = true; finishCallback.onTransitionFinished(mRemoteFinishWCT); finishCallback.onTransitionFinished(mRemoteFinishWCT, null /* sct */); } @Override Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java +3 −3 Original line number Diff line number Diff line Loading @@ -213,7 +213,7 @@ public class ShellTransitionTests { SurfaceControl.Transaction t, IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { remoteCalled[0] = true; finishCallback.onTransitionFinished(remoteFinishWCT); finishCallback.onTransitionFinished(remoteFinishWCT, null /* sct */); } @Override Loading Loading @@ -287,7 +287,7 @@ public class ShellTransitionTests { SurfaceControl.Transaction t, IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { remoteCalled[0] = true; finishCallback.onTransitionFinished(null /* wct */); finishCallback.onTransitionFinished(null /* wct */, null /* sct */); } @Override Loading Loading @@ -334,7 +334,7 @@ public class ShellTransitionTests { SurfaceControl.Transaction t, IRemoteTransitionFinishedCallback finishCallback) throws RemoteException { remoteCalled[0] = true; finishCallback.onTransitionFinished(remoteFinishWCT); finishCallback.onTransitionFinished(remoteFinishWCT, null /* sct */); } @Override Loading