1170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynskipackage android.view; 2170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski 3a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chungimport android.graphics.GraphicBuffer; 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; 18a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chung public final GraphicBuffer buffer; 19170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski public final Rect rect; 20170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski 21a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chung public AppTransitionAnimationSpec(int taskId, GraphicBuffer buffer, Rect rect) { 22170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski this.taskId = taskId; 23170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski this.rect = rect; 24a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chung this.buffer = buffer; 25170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski } 26170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski 27170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski public AppTransitionAnimationSpec(Parcel in) { 28170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski taskId = in.readInt(); 29170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski rect = in.readParcelable(null); 30a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chung buffer = 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(rect, 0 /* flags */); 42a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chung dest.writeParcelable(buffer, 0); 43170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski } 44170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski 45170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski public static final Parcelable.Creator<AppTransitionAnimationSpec> CREATOR 46170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski = new Parcelable.Creator<AppTransitionAnimationSpec>() { 47170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski public AppTransitionAnimationSpec createFromParcel(Parcel in) { 48170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski return new AppTransitionAnimationSpec(in); 49170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski } 50170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski 51170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski public AppTransitionAnimationSpec[] newArray(int size) { 52170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski return new AppTransitionAnimationSpec[size]; 53170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski } 54170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski }; 55170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski 56170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski @Override 57170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski public String toString() { 58a31922f5b145fdc1d4859b5993b2eaf8720f6f56Winson Chung return "{taskId: " + taskId + ", buffer: " + buffer + ", rect: " + rect + "}"; 59170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski } 60170192ab55812bd25124cf602042477c3ea042d1Filip Gruszczynski} 61