Provide access to Shell's apply token

This enables other processes (launcher) to share
the token so that the order of Transaction.apply()
matches the order that surfaceflinger actually
applies them.

Bug: 242193885
Test: quick-switch between apps repeatedly.
Change-Id: Id34e1ba8b59e0c82201d96ca65e430ce9696fd19
This commit is contained in:
Evan Rosky
2022-08-16 20:40:18 +00:00
parent f82e53bfc3
commit b7fe2d63f3
2 changed files with 10 additions and 0 deletions

View File

@@ -34,4 +34,9 @@ interface IShellTransitions {
* Unregisters a remote transition handler.
*/
oneway void unregisterRemote(in RemoteTransition remoteTransition) = 2;
/**
* Retrieves the apply-token used by transactions in Shell
*/
IBinder getShellApplyToken() = 3;
}

View File

@@ -952,6 +952,11 @@ public class Transitions implements RemoteCallable<Transitions> {
transitions.mRemoteTransitionHandler.removeFiltered(remoteTransition);
});
}
@Override
public IBinder getShellApplyToken() {
return SurfaceControl.Transaction.getDefaultApplyToken();
}
}
private class SettingsObserver extends ContentObserver {