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 + "}";
|
}
|
}
|