package android.view; import android.graphics.Bitmap; 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 Bitmap bitmap; public final Rect rect; public AppTransitionAnimationSpec(int taskId, Bitmap bitmap, Rect rect) { this.taskId = taskId; this.bitmap = bitmap; this.rect = rect; } public AppTransitionAnimationSpec(Parcel in) { taskId = in.readInt(); bitmap = in.readParcelable(null); rect = in.readParcelable(null); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(taskId); dest.writeParcelable(bitmap, 0 /* flags */); dest.writeParcelable(rect, 0 /* flags */); } public static final 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 + ", bitmap: " + bitmap + ", rect: " + rect + "}"; } }