am 8a877bc0: am 463b8e4c: Merge "Use ParcelableCompat for CREATOR creation" into mnc-ub-dev

* commit '8a877bc08254d1f76868c6c44cbe7d707aceadfa':
  Use ParcelableCompat for CREATOR creation

GitOrigin-RevId=b08f57a0066fb49514bd2a42b23beeb58465b1b8

PiperOrigin-RevId: 140550372
This commit is contained in:
Chris Banes 2016-11-30 01:34:52 +00:00 committed by Travis Collins
parent 90f930074d
commit c1708db1a1
5 changed files with 51 additions and 44 deletions

View File

@ -32,7 +32,7 @@ package android.support.design.widget {
}
protected static class AppBarLayout.Behavior.SavedState extends android.view.View.BaseSavedState {
ctor public AppBarLayout.Behavior.SavedState(android.os.Parcel);
ctor public AppBarLayout.Behavior.SavedState(android.os.Parcel, java.lang.ClassLoader);
ctor public AppBarLayout.Behavior.SavedState(android.os.Parcelable);
field public static final android.os.Parcelable.Creator<android.support.design.widget.AppBarLayout.Behavior.SavedState> CREATOR;
}
@ -184,7 +184,7 @@ package android.support.design.widget {
}
protected static class CoordinatorLayout.SavedState extends android.view.View.BaseSavedState {
ctor public CoordinatorLayout.SavedState(android.os.Parcel);
ctor public CoordinatorLayout.SavedState(android.os.Parcel, java.lang.ClassLoader);
ctor public CoordinatorLayout.SavedState(android.os.Parcelable);
field public static final android.os.Parcelable.Creator<android.support.design.widget.CoordinatorLayout.SavedState> CREATOR;
}
@ -250,7 +250,7 @@ package android.support.design.widget {
}
public static class NavigationView.SavedState extends android.view.View.BaseSavedState {
ctor public NavigationView.SavedState(android.os.Parcel);
ctor public NavigationView.SavedState(android.os.Parcel, java.lang.ClassLoader);
ctor public NavigationView.SavedState(android.os.Parcelable);
field public static final android.os.Parcelable.Creator<android.support.design.widget.NavigationView.SavedState> CREATOR;
field public android.os.Bundle menuState;

View File

@ -18,6 +18,8 @@ package android.support.design.internal;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.v4.os.ParcelableCompat;
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
import android.util.SparseArray;
/**
@ -29,13 +31,12 @@ public class ParcelableSparseArray extends SparseArray<Parcelable> implements Pa
super();
}
public ParcelableSparseArray(Parcel source) {
public ParcelableSparseArray(Parcel source, ClassLoader loader) {
super();
int size = source.readInt();
int[] keys = new int[size];
source.readIntArray(keys);
Parcelable[] values = source.readParcelableArray(
ParcelableSparseArray.class.getClassLoader());
Parcelable[] values = source.readParcelableArray(loader);
for (int i = 0; i < size; ++i) {
put(keys[i], values[i]);
}
@ -60,17 +61,18 @@ public class ParcelableSparseArray extends SparseArray<Parcelable> implements Pa
parcel.writeParcelableArray(values, flags);
}
public static final Parcelable.Creator<ParcelableSparseArray> CREATOR
= new Creator<ParcelableSparseArray>() {
@Override
public ParcelableSparseArray createFromParcel(Parcel source) {
return new ParcelableSparseArray(source);
}
@Override
public ParcelableSparseArray[] newArray(int size) {
return new ParcelableSparseArray[size];
}
};
public static final Parcelable.Creator<ParcelableSparseArray> CREATOR =
ParcelableCompat
.newCreator(new ParcelableCompatCreatorCallbacks<ParcelableSparseArray>() {
@Override
public ParcelableSparseArray createFromParcel(Parcel source,
ClassLoader loader) {
return new ParcelableSparseArray(source, loader);
}
@Override
public ParcelableSparseArray[] newArray(int size) {
return new ParcelableSparseArray[size];
}
});
}

View File

@ -24,6 +24,8 @@ import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.R;
import android.support.v4.os.ParcelableCompat;
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.WindowInsetsCompat;
import android.util.AttributeSet;
@ -1061,12 +1063,12 @@ public class AppBarLayout extends LinearLayout {
}
}
protected static class SavedState extends View.BaseSavedState {
protected static class SavedState extends BaseSavedState {
int firstVisibleChildIndex;
float firstVisibileChildPercentageShown;
boolean firstVisibileChildAtMinimumHeight;
public SavedState(Parcel source) {
public SavedState(Parcel source, ClassLoader loader) {
super(source);
firstVisibleChildIndex = source.readInt();
firstVisibileChildPercentageShown = source.readFloat();
@ -1086,17 +1088,17 @@ public class AppBarLayout extends LinearLayout {
}
public static final Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel source) {
return new SavedState(source);
public SavedState createFromParcel(Parcel source, ClassLoader loader) {
return new SavedState(source, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
};
});
}
}

View File

@ -31,6 +31,8 @@ import android.os.Parcelable;
import android.os.SystemClock;
import android.support.design.R;
import android.support.v4.content.ContextCompat;
import android.support.v4.os.ParcelableCompat;
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
import android.support.v4.view.GravityCompat;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.NestedScrollingParent;
@ -2586,7 +2588,7 @@ public class CoordinatorLayout extends ViewGroup implements NestedScrollingParen
protected static class SavedState extends BaseSavedState {
SparseArray<Parcelable> behaviorStates;
public SavedState(Parcel source) {
public SavedState(Parcel source, ClassLoader loader) {
super(source);
final int size = source.readInt();
@ -2594,8 +2596,7 @@ public class CoordinatorLayout extends ViewGroup implements NestedScrollingParen
final int[] ids = new int[size];
source.readIntArray(ids);
final Parcelable[] states = source.readParcelableArray(
CoordinatorLayout.class.getClassLoader());
final Parcelable[] states = source.readParcelableArray(loader);
behaviorStates = new SparseArray<>(size);
for (int i = 0; i < size; i++) {
@ -2626,18 +2627,18 @@ public class CoordinatorLayout extends ViewGroup implements NestedScrollingParen
}
public static final Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
@Override
public SavedState createFromParcel(Parcel source) {
return new SavedState(source);
}
public static final Parcelable.Creator<SavedState> CREATOR
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in, ClassLoader loader) {
return new SavedState(in, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
};
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
});
}
private static void selectionSort(final List<View> list, final Comparator<View> comparator) {

View File

@ -35,6 +35,8 @@ import android.support.design.internal.NavigationMenuPresenter;
import android.support.design.internal.NavigationMenuView;
import android.support.design.internal.ScrimInsetsFrameLayout;
import android.support.v4.content.ContextCompat;
import android.support.v4.os.ParcelableCompat;
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
import android.support.v4.view.ViewCompat;
import android.support.v7.internal.view.SupportMenuInflater;
import android.support.v7.internal.view.menu.MenuBuilder;
@ -452,9 +454,9 @@ public class NavigationView extends ScrimInsetsFrameLayout {
public static class SavedState extends BaseSavedState {
public Bundle menuState;
public SavedState(Parcel in) {
public SavedState(Parcel in, ClassLoader loader) {
super(in);
menuState = in.readBundle();
menuState = in.readBundle(loader);
}
public SavedState(Parcelable superState) {
@ -468,17 +470,17 @@ public class NavigationView extends ScrimInsetsFrameLayout {
}
public static final Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
@Override
public SavedState createFromParcel(Parcel parcel) {
return new SavedState(parcel);
public SavedState createFromParcel(Parcel parcel, ClassLoader loader) {
return new SavedState(parcel, loader);
}
@Override
public SavedState[] newArray(int size) {
return new SavedState[size];
}
};
});
}
}