Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d8078911 authored by Chris Banes's avatar Chris Banes Committed by android-build-merger
Browse files

Merge "Make AbsSavedState read using given ClassLoader" into nyc-dev

am: b02d51b3

* commit 'b02d51b3':
  Make AbsSavedState read using given ClassLoader

Change-Id: I680a362e229c7ebbd42f344fa7446aff86fa98ae
parents 3a8380db b02d51b3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -40825,6 +40825,7 @@ package android.view {
  public abstract class AbsSavedState implements android.os.Parcelable {
    ctor protected AbsSavedState(android.os.Parcelable);
    ctor protected AbsSavedState(android.os.Parcel);
    ctor protected AbsSavedState(android.os.Parcel, java.lang.ClassLoader);
    method public int describeContents();
    method public final android.os.Parcelable getSuperState();
    method public void writeToParcel(android.os.Parcel, int);
@@ -42941,6 +42942,7 @@ package android.view {
  public static class View.BaseSavedState extends android.view.AbsSavedState {
    ctor public View.BaseSavedState(android.os.Parcel);
    ctor public View.BaseSavedState(android.os.Parcel, java.lang.ClassLoader);
    ctor public View.BaseSavedState(android.os.Parcelable);
    field public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
  }
+2 −0
Original line number Diff line number Diff line
@@ -43838,6 +43838,7 @@ package android.view {
  public abstract class AbsSavedState implements android.os.Parcelable {
    ctor protected AbsSavedState(android.os.Parcelable);
    ctor protected AbsSavedState(android.os.Parcel);
    ctor protected AbsSavedState(android.os.Parcel, java.lang.ClassLoader);
    method public int describeContents();
    method public final android.os.Parcelable getSuperState();
    method public void writeToParcel(android.os.Parcel, int);
@@ -45954,6 +45955,7 @@ package android.view {
  public static class View.BaseSavedState extends android.view.AbsSavedState {
    ctor public View.BaseSavedState(android.os.Parcel);
    ctor public View.BaseSavedState(android.os.Parcel, java.lang.ClassLoader);
    ctor public View.BaseSavedState(android.os.Parcelable);
    field public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
  }
+2 −0
Original line number Diff line number Diff line
@@ -40902,6 +40902,7 @@ package android.view {
  public abstract class AbsSavedState implements android.os.Parcelable {
    ctor protected AbsSavedState(android.os.Parcelable);
    ctor protected AbsSavedState(android.os.Parcel);
    ctor protected AbsSavedState(android.os.Parcel, java.lang.ClassLoader);
    method public int describeContents();
    method public final android.os.Parcelable getSuperState();
    method public void writeToParcel(android.os.Parcel, int);
@@ -43018,6 +43019,7 @@ package android.view {
  public static class View.BaseSavedState extends android.view.AbsSavedState {
    ctor public View.BaseSavedState(android.os.Parcel);
    ctor public View.BaseSavedState(android.os.Parcel, java.lang.ClassLoader);
    ctor public View.BaseSavedState(android.os.Parcelable);
    field public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
  }
+27 −11
Original line number Diff line number Diff line
@@ -50,12 +50,21 @@ public abstract class AbsSavedState implements Parcelable {
    /**
     * Constructor used when reading from a parcel. Reads the state of the superclass.
     *
     * @param source
     * @param source parcel to read from
     */
    protected AbsSavedState(Parcel source) {
        // FIXME need class loader
        Parcelable superState = source.readParcelable(null);
        this(source, null);
    }

    /**
     * Constructor used when reading from a parcel using a given class loader.
     * Reads the state of the superclass.
     *
     * @param source parcel to read from
     * @param loader ClassLoader to use for reading
     */
    protected AbsSavedState(Parcel source, ClassLoader loader) {
        Parcelable superState = source.readParcelable(loader);
        mSuperState = superState != null ? superState : EMPTY_STATE;
    }

@@ -72,16 +81,23 @@ public abstract class AbsSavedState implements Parcelable {
    }

    public static final Parcelable.Creator<AbsSavedState> CREATOR
        = new Parcelable.Creator<AbsSavedState>() {
            = new Parcelable.ClassLoaderCreator<AbsSavedState>() {

        @Override
        public AbsSavedState createFromParcel(Parcel in) {
            Parcelable superState = in.readParcelable(null);
            return createFromParcel(in, null);
        }

        @Override
        public AbsSavedState createFromParcel(Parcel in, ClassLoader loader) {
            Parcelable superState = in.readParcelable(loader);
            if (superState != null) {
                throw new IllegalStateException("superState must be null");
            }
            return EMPTY_STATE;
        }

        @Override
        public AbsSavedState[] newArray(int size) {
            return new AbsSavedState[size];
        }
+22 −4
Original line number Diff line number Diff line
@@ -22575,10 +22575,21 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        /**
         * Constructor used when reading from a parcel. Reads the state of the superclass.
         *
         * @param source
         * @param source parcel to read from
         */
        public BaseSavedState(Parcel source) {
            super(source);
            this(source, null);
        }
        /**
         * Constructor used when reading from a parcel using a given class loader.
         * Reads the state of the superclass.
         *
         * @param source parcel to read from
         * @param loader ClassLoader to use for reading
         */
        public BaseSavedState(Parcel source, ClassLoader loader) {
            super(source, loader);
            mStartActivityRequestWhoSaved = source.readString();
        }
@@ -22597,12 +22608,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
            out.writeString(mStartActivityRequestWhoSaved);
        }
        public static final Parcelable.Creator<BaseSavedState> CREATOR =
                new Parcelable.Creator<BaseSavedState>() {
        public static final Parcelable.Creator<BaseSavedState> CREATOR
                = new Parcelable.ClassLoaderCreator<BaseSavedState>() {
            @Override
            public BaseSavedState createFromParcel(Parcel in) {
                return new BaseSavedState(in);
            }
            @Override
            public BaseSavedState createFromParcel(Parcel in, ClassLoader loader) {
                return new BaseSavedState(in, loader);
            }
            @Override
            public BaseSavedState[] newArray(int size) {
                return new BaseSavedState[size];
            }