Remote animations (app-controlled animations)
Adds the ability for another app to control an entire app transition. It does so by creating an ActivityOptions object that contains a RemoteAnimationAdapter object that describes how the animation should be run: Along of some meta-data, this object contains a callback that gets invoked from WM when the transition is ready to be started. Window manager supplies a list of RemoteAnimationApps into the callback. Each app contains information about the app as well as the animation leash. The controlling app can modify the leash like any other surface, including the possibility to synchronize updating the leash's surface properties with a frame to be drawn using the Transaction.deferUntil API. When the animation is done, the app can invoke the finished callback to get WM out of the animating state, which will also clean up any closing apps. We use a timeout of 2000ms such that a buggy controlling app can not break window manager forever (duration subject to change). Test: go/wm-smoke Test: RemoteAnimationControllerTest Bug: 64674361 Change-Id: I34e0c9a91b28badebac74896f95c6390f1b947ab
Loading
Please register or sign in to comment