1170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskipackage android.view;
2170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
3170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskiimport android.graphics.Bitmap;
4170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskiimport android.graphics.Rect;
5170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskiimport android.os.Parcel;
6170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskiimport android.os.Parcelable;
7170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
8170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski/**
9170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski * Holds information about how the next app transition animation should be executed.
10170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski *
11170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski * This class is intended to be used with IWindowManager.overridePendingAppTransition* methods when
12170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski * simple arguments are not enough to describe the animation.
13170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski *
14170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski * @hide
15170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski */
16170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskipublic class AppTransitionAnimationSpec implements Parcelable {
17170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public final int taskId;
18170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public final Bitmap bitmap;
19170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public final Rect rect;
20170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
21170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public AppTransitionAnimationSpec(int taskId, Bitmap bitmap, Rect rect) {
22170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        this.taskId = taskId;
23170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        this.bitmap = bitmap;
24170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        this.rect = rect;
25170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    }
26170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
27170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public AppTransitionAnimationSpec(Parcel in) {
28170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        taskId = in.readInt();
29170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        bitmap = in.readParcelable(null);
30170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        rect = in.readParcelable(null);
31170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    }
32170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
33170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    @Override
34170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public int describeContents() {
35170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        return 0;
36170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    }
37170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
38170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    @Override
39170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public void writeToParcel(Parcel dest, int flags) {
40170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        dest.writeInt(taskId);
41170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        dest.writeParcelable(bitmap, 0 /* flags */);
42170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        dest.writeParcelable(rect, 0 /* flags */);
43170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
44170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    }
45170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
46170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public static final Parcelable.Creator<AppTransitionAnimationSpec> CREATOR
47170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski            = new Parcelable.Creator<AppTransitionAnimationSpec>() {
48170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        public AppTransitionAnimationSpec createFromParcel(Parcel in) {
49170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski            return new AppTransitionAnimationSpec(in);
50170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        }
51170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
52170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        public AppTransitionAnimationSpec[] newArray(int size) {
53170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski            return new AppTransitionAnimationSpec[size];
54170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        }
55170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    };
56170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski
57170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    @Override
58170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    public String toString() {
59170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski        return "{taskId: " + taskId + ", bitmap: " + bitmap + ", rect: " + rect + "}";
60170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski    }
61170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski}
62