diff options
| author | 2021-12-02 15:39:44 +0000 | |
|---|---|---|
| committer | 2021-12-02 15:43:40 +0000 | |
| commit | aa4e9dfda8174d604244a0aed408040d1adbf62c (patch) | |
| tree | 5b9f35f4baa871d31245b10472881aab7813b8a3 | |
| parent | cc09b29e599b0bf965ec1c75ee4d9cee36c21aa0 (diff) | |
Deprecate unsafe readParcelableList API.
Deprecate unsafe parcel APIs and point to the safer ones that take the
expected type as parameter. Also mentioned the typed ones
that take the creator as argument since those are also more performant.
Test: Builds
Bug: 195622897
Bug: 199275680
Bug: 205985058
Change-Id: I77a1a925d8759fd122936780587e3488705d4c56
| -rw-r--r-- | core/api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/os/Parcel.java | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 99226159348b..6936ca724c38 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -31513,7 +31513,7 @@ package android.os { 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>); - method @NonNull public <T extends android.os.Parcelable> java.util.List<T> readParcelableList(@NonNull java.util.List<T>, @Nullable ClassLoader); + method @Deprecated @NonNull public <T extends android.os.Parcelable> java.util.List<T> readParcelableList(@NonNull java.util.List<T>, @Nullable ClassLoader); method @NonNull public <T> java.util.List<T> readParcelableList(@NonNull java.util.List<T>, @Nullable ClassLoader, @NonNull Class<T>); method @Nullable public android.os.PersistableBundle readPersistableBundle(); method @Nullable public android.os.PersistableBundle readPersistableBundle(@Nullable ClassLoader); diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index afd0ff747b93..36645155a472 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -3646,7 +3646,14 @@ public final class Parcel { * list was {@code null}, {@code list} is cleared. * * @see #writeParcelableList(List, int) + * + * @deprecated Use the type-safer version {@link #readParcelableList(List, ClassLoader, Class)} + * starting from Android {@link Build.VERSION_CODES#TIRAMISU}. Also consider changing the + * format to use {@link #readTypedList(List, 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 @NonNull public final <T extends Parcelable> List<T> readParcelableList(@NonNull List<T> list, @Nullable ClassLoader cl) { |