Merge "Add javadoc note about bug in readParcelableCreatorInternal" into tm-dev am: 5421a3f422 am: 530c9780d8 am: 494fbd29d2 am: 9075299d91
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19459102 Change-Id: I472f6c523c97b096d9a4f3ce81bf9cf7a1f2b70e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -934,6 +934,12 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
|
||||
* you must call {@link #setClassLoader(ClassLoader)} with the proper {@link ClassLoader} first.
|
||||
* Otherwise, this method might throw an exception or return {@code null}.
|
||||
*
|
||||
* <p><b>Warning: </b> the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #getParcelable(String)} instead.
|
||||
*
|
||||
* @param key a String, or {@code null}
|
||||
* @param clazz The type of the object expected
|
||||
* @return a Parcelable value, or {@code null}
|
||||
@@ -990,6 +996,13 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
|
||||
* you must call {@link #setClassLoader(ClassLoader)} with the proper {@link ClassLoader} first.
|
||||
* Otherwise, this method might throw an exception or return {@code null}.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #getParcelableArray(String)} instead.
|
||||
*
|
||||
* @param key a String, or {@code null}
|
||||
* @param clazz The type of the items inside the array. This is only verified when unparceling.
|
||||
* @return a Parcelable[] value, or {@code null}
|
||||
@@ -1054,6 +1067,13 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
|
||||
* you must call {@link #setClassLoader(ClassLoader)} with the proper {@link ClassLoader} first.
|
||||
* Otherwise, this method might throw an exception or return {@code null}.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #getParcelableArrayList(String)} instead.
|
||||
*
|
||||
* @param key a String, or {@code null}
|
||||
* @param clazz The type of the items inside the array list. This is only verified when
|
||||
* unparceling.
|
||||
@@ -1105,6 +1125,13 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
|
||||
* <li>The object is not of type {@code clazz}.
|
||||
* </ul>
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #getSparseParcelableArray(String)} instead.
|
||||
*
|
||||
* @param key a String, or null
|
||||
* @param clazz The type of the items inside the sparse array. This is only verified when
|
||||
* unparceling.
|
||||
|
||||
@@ -3266,6 +3266,13 @@ public final class Parcel {
|
||||
* Same as {@link #readList(List, ClassLoader)} but accepts {@code clazz} parameter as
|
||||
* the type required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readList(List, ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
@@ -3494,6 +3501,13 @@ public final class Parcel {
|
||||
* Same as {@link #readArrayList(ClassLoader)} but accepts {@code clazz} parameter as
|
||||
* the type required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readArrayList(ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
@@ -3528,6 +3542,13 @@ public final class Parcel {
|
||||
* Same as {@link #readArray(ClassLoader)} but accepts {@code clazz} parameter as
|
||||
* the type required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readArray(ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
@@ -3561,6 +3582,13 @@ public final class Parcel {
|
||||
* Same as {@link #readSparseArray(ClassLoader)} but accepts {@code clazz} parameter as
|
||||
* the type required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readSparseArray(ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
@@ -3878,6 +3906,13 @@ public final class Parcel {
|
||||
* Same as {@link #readParcelableList(List, ClassLoader)} but accepts {@code clazz} parameter as
|
||||
* the type required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> if the list contains items implementing the {@link Parcelable} interface,
|
||||
* the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readParcelableList(List, ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
@@ -4775,6 +4810,12 @@ public final class Parcel {
|
||||
* Same as {@link #readParcelable(ClassLoader)} but accepts {@code clazz} parameter as the type
|
||||
* required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readParcelable(ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
@@ -4843,6 +4884,12 @@ public final class Parcel {
|
||||
* Same as {@link #readParcelableCreator(ClassLoader)} but accepts {@code clazz} parameter
|
||||
* as the required type.
|
||||
*
|
||||
* <p><b>Warning: </b> the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readParcelableCreator(ClassLoader) instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there there was an error
|
||||
* trying to read the {@link Parcelable.Creator}.
|
||||
@@ -4979,6 +5026,12 @@ public final class Parcel {
|
||||
* Same as {@link #readParcelableArray(ClassLoader)} but accepts {@code clazz} parameter as
|
||||
* the type required for each item.
|
||||
*
|
||||
* <p><b>Warning: </b> the class that implements {@link Parcelable} has to be the immediately
|
||||
* enclosing class of the runtime type of its CREATOR field (that is,
|
||||
* {@link Class#getEnclosingClass()} has to return the parcelable implementing class),
|
||||
* otherwise this method might throw an exception. If the Parcelable class does not enclose the
|
||||
* CREATOR, use the deprecated {@link #readParcelableArray(ClassLoader)} instead.
|
||||
*
|
||||
* @throws BadParcelableException Throws BadParcelableException if the item to be deserialized
|
||||
* is not an instance of that class or any of its children classes or there was an error
|
||||
* trying to instantiate an element.
|
||||
|
||||
Reference in New Issue
Block a user