diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/IRecentsAnimationRunner.aidl | 18 | ||||
| -rw-r--r-- | core/java/android/view/RemoteAnimationTarget.java | 12 |
2 files changed, 25 insertions, 5 deletions
diff --git a/core/java/android/view/IRecentsAnimationRunner.aidl b/core/java/android/view/IRecentsAnimationRunner.aidl index ea6226b3ea69..69973e6d367a 100644 --- a/core/java/android/view/IRecentsAnimationRunner.aidl +++ b/core/java/android/view/IRecentsAnimationRunner.aidl @@ -16,6 +16,7 @@ package android.view; +import android.graphics.Rect; import android.view.RemoteAnimationTarget; import android.view.IRecentsAnimationController; @@ -28,15 +29,26 @@ import android.view.IRecentsAnimationController; oneway interface IRecentsAnimationRunner { /** - * Called when the system is ready for the handler to start animating all the visible tasks. + * Deprecated, to be removed once Launcher updates */ void onAnimationStart(in IRecentsAnimationController controller, - in RemoteAnimationTarget[] apps); + in RemoteAnimationTarget[] apps) = 0; /** * Called when the system needs to cancel the current animation. This can be due to the * wallpaper not drawing in time, or the handler not finishing the animation within a predefined * amount of time. */ - void onAnimationCanceled(); + void onAnimationCanceled() = 1; + + /** + * Called when the system is ready for the handler to start animating all the visible tasks. + * + * @param homeContentInsets The current home app content insets + * @param minimizedHomeBounds Specifies the bounds of the minimized home app, will be + * {@code null} if the device is not currently in split screen + */ + void onAnimationStart_New(in IRecentsAnimationController controller, + in RemoteAnimationTarget[] apps, in Rect homeContentInsets, + in Rect minimizedHomeBounds) = 2; } diff --git a/core/java/android/view/RemoteAnimationTarget.java b/core/java/android/view/RemoteAnimationTarget.java index c28c3894482d..facf575872ed 100644 --- a/core/java/android/view/RemoteAnimationTarget.java +++ b/core/java/android/view/RemoteAnimationTarget.java @@ -79,6 +79,11 @@ public class RemoteAnimationTarget implements Parcelable { public final Rect clipRect; /** + * The insets of the main app window. + */ + public final Rect contentInsets; + + /** * The index of the element in the tree in prefix order. This should be used for z-layering * to preserve original z-layer order in the hierarchy tree assuming no "boosting" needs to * happen. @@ -105,13 +110,14 @@ public class RemoteAnimationTarget implements Parcelable { public final WindowConfiguration windowConfiguration; public RemoteAnimationTarget(int taskId, int mode, SurfaceControl leash, boolean isTranslucent, - Rect clipRect, int prefixOrderIndex, Point position, Rect sourceContainerBounds, - WindowConfiguration windowConfig) { + Rect clipRect, Rect contentInsets, int prefixOrderIndex, Point position, + Rect sourceContainerBounds, WindowConfiguration windowConfig) { this.mode = mode; this.taskId = taskId; this.leash = leash; this.isTranslucent = isTranslucent; this.clipRect = new Rect(clipRect); + this.contentInsets = new Rect(contentInsets); this.prefixOrderIndex = prefixOrderIndex; this.position = new Point(position); this.sourceContainerBounds = new Rect(sourceContainerBounds); @@ -124,6 +130,7 @@ public class RemoteAnimationTarget implements Parcelable { leash = in.readParcelable(null); isTranslucent = in.readBoolean(); clipRect = in.readParcelable(null); + contentInsets = in.readParcelable(null); prefixOrderIndex = in.readInt(); position = in.readParcelable(null); sourceContainerBounds = in.readParcelable(null); @@ -142,6 +149,7 @@ public class RemoteAnimationTarget implements Parcelable { dest.writeParcelable(leash, 0 /* flags */); dest.writeBoolean(isTranslucent); dest.writeParcelable(clipRect, 0 /* flags */); + dest.writeParcelable(contentInsets, 0 /* flags */); dest.writeInt(prefixOrderIndex); dest.writeParcelable(position, 0 /* flags */); dest.writeParcelable(sourceContainerBounds, 0 /* flags */); |
