diff options
| author | Chris Li <lihongyu@google.com> | 2021-08-31 17:49:33 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-08-31 17:49:33 +0000 |
| commit | 9541f4a48a14786ba4a6afe53e87fef32f410157 (patch) | |
| tree | 5bccd0d02e76143ffd4726d0345ac319f188f52e /core/java/android | |
| parent | 1d70478e12b1431c6c2faf00e504862175416c4e (diff) | |
| parent | 14ac35839a894b235d8a59417a587d217b2899dc (diff) | |
Merge "Allow TaskFragmentOrganizer to set remote animation" into sc-v2-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/window/ITaskFragmentOrganizerController.aidl | 14 | ||||
| -rw-r--r-- | core/java/android/window/TaskFragmentOrganizer.java | 29 |
2 files changed, 43 insertions, 0 deletions
diff --git a/core/java/android/window/ITaskFragmentOrganizerController.aidl b/core/java/android/window/ITaskFragmentOrganizerController.aidl index 0ca8a864dba5..1ad0452dd837 100644 --- a/core/java/android/window/ITaskFragmentOrganizerController.aidl +++ b/core/java/android/window/ITaskFragmentOrganizerController.aidl @@ -16,6 +16,7 @@ package android.window; +import android.view.RemoteAnimationDefinition; import android.window.ITaskFragmentOrganizer; /** @hide */ @@ -30,4 +31,17 @@ interface ITaskFragmentOrganizerController { * Unregisters a previously registered TaskFragmentOrganizer. */ void unregisterOrganizer(in ITaskFragmentOrganizer organizer); + + /** + * Registers remote animations per transition type for the organizer. It will override the + * animations if the transition only contains windows that belong to the organized + * TaskFragments. + */ + void registerRemoteAnimations(in ITaskFragmentOrganizer organizer, + in RemoteAnimationDefinition definition); + + /** + * Unregisters remote animations per transition type for the organizer. + */ + void unregisterRemoteAnimations(in ITaskFragmentOrganizer organizer); } diff --git a/core/java/android/window/TaskFragmentOrganizer.java b/core/java/android/window/TaskFragmentOrganizer.java index f22f0b231ec9..337c5a14e9d3 100644 --- a/core/java/android/window/TaskFragmentOrganizer.java +++ b/core/java/android/window/TaskFragmentOrganizer.java @@ -23,6 +23,7 @@ import android.content.res.Configuration; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; +import android.view.RemoteAnimationDefinition; import java.util.concurrent.Executor; @@ -90,6 +91,34 @@ public class TaskFragmentOrganizer extends WindowOrganizer { } } + /** + * Registers remote animations per transition type for the organizer. It will override the + * animations if the transition only contains windows that belong to the organized + * TaskFragments. + * @hide + */ + @CallSuper + public void registerRemoteAnimations(@NonNull RemoteAnimationDefinition definition) { + try { + getController().registerRemoteAnimations(mInterface, definition); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Unregisters remote animations per transition type for the organizer. + * @hide + */ + @CallSuper + public void unregisterRemoteAnimations() { + try { + getController().unregisterRemoteAnimations(mInterface); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + /** Called when a TaskFragment is created and organized by this organizer. */ public void onTaskFragmentAppeared( @NonNull TaskFragmentAppearedInfo taskFragmentAppearedInfo) {} |
