diff options
author | Bernardo Rufino <brufino@google.com> | 2021-12-09 10:54:30 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-12-09 10:54:30 +0000 |
commit | 91e53b04aa16a2ee16e1f67693d3b959387f7469 (patch) | |
tree | 930c7881e871c16d9f62033db7f3e6e4ad949d98 | |
parent | 4bd88f5cd67c775e355066224a894211e5d822b1 (diff) | |
parent | 2ee662c767ba3a75242e6b63408e96d916181921 (diff) | |
download | base-91e53b04aa16a2ee16e1f67693d3b959387f7469.tar.gz |
Merge "Deprecate unsafe Parcel.readParcelableArray(ClassLoader)" am: 2ee662c767
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1910046
Change-Id: I3f12c9a32b1b2146ec83f0a04eb5768cafd2eecd
-rw-r--r-- | core/api/current.txt | 2 | ||||
-rw-r--r-- | core/java/android/os/Parcel.java | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index b4eb62a20bc3..94ba409995e2 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -31591,7 +31591,7 @@ package android.os { method public <K, V> void readMap(@NonNull java.util.Map<? super K,? super V>, @Nullable ClassLoader, @NonNull Class<K>, @NonNull Class<V>); method @Deprecated @Nullable public <T extends android.os.Parcelable> T readParcelable(@Nullable ClassLoader); method @Nullable public <T extends android.os.Parcelable> T readParcelable(@Nullable ClassLoader, @NonNull Class<T>); - method @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader); + method @Deprecated @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader); method @Nullable public <T> T[] readParcelableArray(@Nullable ClassLoader, @NonNull Class<T>); method @Deprecated @Nullable public android.os.Parcelable.Creator<?> readParcelableCreator(@Nullable ClassLoader); method @Nullable public <T> android.os.Parcelable.Creator<T> readParcelableCreator(@Nullable ClassLoader, @NonNull Class<T>); diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 8894c85fa7b4..4d5f97c59907 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -4388,9 +4388,16 @@ public final class Parcel { * The given class loader will be used to load any enclosed * Parcelables. * @return the Parcelable array, or null if the array is null + * + * @deprecated Use the type-safer version {@link #readParcelableArray(ClassLoader, Class)} + * starting from Android {@link Build.VERSION_CODES#TIRAMISU}. Also consider changing the + * format to use {@link #createTypedArray(Parcelable.Creator)} if possible (eg. if the + * items' class is final) since this is also more performant. Note that changing to the + * latter also requires changing the writes. */ + @Deprecated @Nullable - public final Parcelable[] readParcelableArray(@Nullable ClassLoader loader) { + public Parcelable[] readParcelableArray(@Nullable ClassLoader loader) { int N = readInt(); if (N < 0) { return null; |