|  | package android.view; | 
|  |  | 
|  | import android.annotation.UnsupportedAppUsage; | 
|  | import android.graphics.GraphicBuffer; | 
|  | import android.graphics.Rect; | 
|  | import android.os.Parcel; | 
|  | import android.os.Parcelable; | 
|  |  | 
|  | /** | 
|  | * Holds information about how the next app transition animation should be executed. | 
|  | * | 
|  | * This class is intended to be used with IWindowManager.overridePendingAppTransition* methods when | 
|  | * simple arguments are not enough to describe the animation. | 
|  | * | 
|  | * @hide | 
|  | */ | 
|  | public class AppTransitionAnimationSpec implements Parcelable { | 
|  | public final int taskId; | 
|  | public final GraphicBuffer buffer; | 
|  | public final Rect rect; | 
|  |  | 
|  | @UnsupportedAppUsage | 
|  | public AppTransitionAnimationSpec(int taskId, GraphicBuffer buffer, Rect rect) { | 
|  | this.taskId = taskId; | 
|  | this.rect = rect; | 
|  | this.buffer = buffer; | 
|  | } | 
|  |  | 
|  | public AppTransitionAnimationSpec(Parcel in) { | 
|  | taskId = in.readInt(); | 
|  | rect = in.readParcelable(null); | 
|  | buffer = in.readParcelable(null); | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public int describeContents() { | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | @Override | 
|  | public void writeToParcel(Parcel dest, int flags) { | 
|  | dest.writeInt(taskId); | 
|  | dest.writeParcelable(rect, 0 /* flags */); | 
|  | dest.writeParcelable(buffer, 0); | 
|  | } | 
|  |  | 
|  | public static final @android.annotation.NonNull Parcelable.Creator<AppTransitionAnimationSpec> CREATOR | 
|  | = new Parcelable.Creator<AppTransitionAnimationSpec>() { | 
|  | public AppTransitionAnimationSpec createFromParcel(Parcel in) { | 
|  | return new AppTransitionAnimationSpec(in); | 
|  | } | 
|  |  | 
|  | public AppTransitionAnimationSpec[] newArray(int size) { | 
|  | return new AppTransitionAnimationSpec[size]; | 
|  | } | 
|  | }; | 
|  |  | 
|  | @Override | 
|  | public String toString() { | 
|  | return "{taskId: " + taskId + ", buffer: " + buffer + ", rect: " + rect + "}"; | 
|  | } | 
|  | } |