Home | History | Annotate | Download | only in view
      1 package android.view;
      2 
      3 import android.graphics.GraphicBuffer;
      4 import android.graphics.Rect;
      5 import android.os.Parcel;
      6 import android.os.Parcelable;
      7 
      8 /**
      9  * Holds information about how the next app transition animation should be executed.
     10  *
     11  * This class is intended to be used with IWindowManager.overridePendingAppTransition* methods when
     12  * simple arguments are not enough to describe the animation.
     13  *
     14  * @hide
     15  */
     16 public class AppTransitionAnimationSpec implements Parcelable {
     17     public final int taskId;
     18     public final GraphicBuffer buffer;
     19     public final Rect rect;
     20 
     21     public AppTransitionAnimationSpec(int taskId, GraphicBuffer buffer, Rect rect) {
     22         this.taskId = taskId;
     23         this.rect = rect;
     24         this.buffer = buffer;
     25     }
     26 
     27     public AppTransitionAnimationSpec(Parcel in) {
     28         taskId = in.readInt();
     29         rect = in.readParcelable(null);
     30         buffer = in.readParcelable(null);
     31     }
     32 
     33     @Override
     34     public int describeContents() {
     35         return 0;
     36     }
     37 
     38     @Override
     39     public void writeToParcel(Parcel dest, int flags) {
     40         dest.writeInt(taskId);
     41         dest.writeParcelable(rect, 0 /* flags */);
     42         dest.writeParcelable(buffer, 0);
     43     }
     44 
     45     public static final Parcelable.Creator<AppTransitionAnimationSpec> CREATOR
     46             = new Parcelable.Creator<AppTransitionAnimationSpec>() {
     47         public AppTransitionAnimationSpec createFromParcel(Parcel in) {
     48             return new AppTransitionAnimationSpec(in);
     49         }
     50 
     51         public AppTransitionAnimationSpec[] newArray(int size) {
     52             return new AppTransitionAnimationSpec[size];
     53         }
     54     };
     55 
     56     @Override
     57     public String toString() {
     58         return "{taskId: " + taskId + ", buffer: " + buffer + ", rect: " + rect + "}";
     59     }
     60 }
     61