OSDN Git Service

Add ability to register remote animation definitions per activity
authorJorim Jaggi <jjaggi@google.com>
Tue, 16 Jan 2018 13:17:59 +0000 (14:17 +0100)
committerJorim Jaggi <jjaggi@google.com>
Wed, 17 Jan 2018 21:00:37 +0000 (22:00 +0100)
commitf84e2f60fec6f6d2ecfb3b90ddf075101f4b902f
treee2791213913c9b2d706e1c1bee66f9734c4b8aa6
parent99dbbf937cda5b497abb8a289dc6080938c03754
Add ability to register remote animation definitions per activity

This introduces a more stable way of setting a remote animation
than using overridePendingTransition: An activity can register
a set of remote animations which is broke down by transition type.
Whenever the activity is involved into such a transition, the
remote animation will be started.

Remote animations take precedence over regular animations, and
prefixOrderIndex in the hierarchy decides precedence within
multiple apps that set remote animation definitions such that
higher apps override lower apps.

Bug: 64674361
Test: go/wm-smoke
Test: Use with launcher
Change-Id: Id300ff62d9f60966ea2609168f6a02860b3de7af
23 files changed:
core/java/android/app/Activity.java
core/java/android/app/IActivityManager.aidl
core/java/android/view/RemoteAnimationDefinition.aidl [new file with mode: 0644]
core/java/android/view/RemoteAnimationDefinition.java [new file with mode: 0644]
core/java/android/view/WindowManager.java
services/core/java/com/android/server/am/ActivityManagerService.java
services/core/java/com/android/server/am/ActivityRecord.java
services/core/java/com/android/server/am/ActivityStack.java
services/core/java/com/android/server/am/ActivityStackSupervisor.java
services/core/java/com/android/server/am/KeyguardController.java
services/core/java/com/android/server/policy/PhoneWindowManager.java
services/core/java/com/android/server/policy/WindowManagerPolicy.java
services/core/java/com/android/server/wm/AccessibilityController.java
services/core/java/com/android/server/wm/AppTransition.java
services/core/java/com/android/server/wm/AppWindowContainerController.java
services/core/java/com/android/server/wm/AppWindowToken.java
services/core/java/com/android/server/wm/DisplayContent.java
services/core/java/com/android/server/wm/DockedStackDividerController.java
services/core/java/com/android/server/wm/WallpaperController.java
services/core/java/com/android/server/wm/WindowManagerService.java
services/core/java/com/android/server/wm/WindowSurfacePlacer.java
services/tests/servicestests/src/com/android/server/wm/AppTransitionTests.java
services/tests/servicestests/src/com/android/server/wm/TaskSnapshotControllerTest.java