diff --git a/core/java/android/service/credentials/Action.java b/core/java/android/service/credentials/Action.java index e2c11fbac008f..553a32419533f 100644 --- a/core/java/android/service/credentials/Action.java +++ b/core/java/android/service/credentials/Action.java @@ -50,9 +50,8 @@ public final class Action implements Parcelable { } private Action(@NonNull Parcel in) { - mSlice = in.readParcelable(Slice.class.getClassLoader(), Slice.class); - mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader(), - PendingIntent.class); + mSlice = in.readTypedObject(Slice.CREATOR); + mPendingIntent = in.readTypedObject(PendingIntent.CREATOR); } public static final @NonNull Creator CREATOR = new Creator() { @@ -74,8 +73,8 @@ public final class Action implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - mSlice.writeToParcel(dest, flags); - mPendingIntent.writeToParcel(dest, flags); + dest.writeTypedObject(mSlice, flags); + dest.writeTypedObject(mPendingIntent, flags); } /** diff --git a/core/java/android/service/credentials/CreateCredentialRequest.java b/core/java/android/service/credentials/CreateCredentialRequest.java index 6a0bbc0bd9179..e6da349a2fbe7 100644 --- a/core/java/android/service/credentials/CreateCredentialRequest.java +++ b/core/java/android/service/credentials/CreateCredentialRequest.java @@ -54,7 +54,7 @@ public final class CreateCredentialRequest implements Parcelable { private CreateCredentialRequest(@NonNull Parcel in) { mCallingPackage = in.readString8(); mType = in.readString8(); - mData = in.readBundle(); + mData = in.readTypedObject(Bundle.CREATOR); } public static final @NonNull Creator CREATOR = @@ -79,7 +79,7 @@ public final class CreateCredentialRequest implements Parcelable { public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeString8(mCallingPackage); dest.writeString8(mType); - dest.writeBundle(mData); + dest.writeTypedObject(mData, flags); } /** Returns the calling package of the calling app. */ diff --git a/core/java/android/service/credentials/CreateCredentialResponse.java b/core/java/android/service/credentials/CreateCredentialResponse.java index 613eba8c9bb28..559b1caab87c2 100644 --- a/core/java/android/service/credentials/CreateCredentialResponse.java +++ b/core/java/android/service/credentials/CreateCredentialResponse.java @@ -38,7 +38,9 @@ public final class CreateCredentialResponse implements Parcelable { private CreateCredentialResponse(@NonNull Parcel in) { mHeader = in.readCharSequence(); - mSaveEntries = in.createTypedArrayList(SaveEntry.CREATOR); + List saveEntries = new ArrayList<>(); + in.readTypedList(saveEntries, SaveEntry.CREATOR); + mSaveEntries = saveEntries; } @Override diff --git a/core/java/android/service/credentials/CredentialEntry.java b/core/java/android/service/credentials/CredentialEntry.java index 49b84359d94a2..4cc43a10e88f3 100644 --- a/core/java/android/service/credentials/CredentialEntry.java +++ b/core/java/android/service/credentials/CredentialEntry.java @@ -65,12 +65,10 @@ public final class CredentialEntry implements Parcelable { } private CredentialEntry(@NonNull Parcel in) { - mType = in.readString(); - mSlice = in.readParcelable(Slice.class.getClassLoader(), Slice.class); - mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader(), - PendingIntent.class); - mCredential = in.readParcelable(Credential.class.getClassLoader(), - Credential.class); + mType = in.readString8(); + mSlice = in.readTypedObject(Slice.CREATOR); + mPendingIntent = in.readTypedObject(PendingIntent.CREATOR); + mCredential = in.readTypedObject(Credential.CREATOR); mAutoSelectAllowed = in.readBoolean(); } @@ -95,9 +93,9 @@ public final class CredentialEntry implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeString8(mType); - mSlice.writeToParcel(dest, flags); - mPendingIntent.writeToParcel(dest, flags); - mCredential.writeToParcel(dest, flags); + dest.writeTypedObject(mSlice, flags); + dest.writeTypedObject(mPendingIntent, flags); + dest.writeTypedObject(mCredential, flags); dest.writeBoolean(mAutoSelectAllowed); } diff --git a/core/java/android/service/credentials/CredentialsDisplayContent.java b/core/java/android/service/credentials/CredentialsDisplayContent.java index 4133ea5955c4a..2cce169e7a58f 100644 --- a/core/java/android/service/credentials/CredentialsDisplayContent.java +++ b/core/java/android/service/credentials/CredentialsDisplayContent.java @@ -53,8 +53,12 @@ public final class CredentialsDisplayContent implements Parcelable { private CredentialsDisplayContent(@NonNull Parcel in) { mHeader = in.readCharSequence(); - mCredentialEntries = in.createTypedArrayList(CredentialEntry.CREATOR); - mActions = in.createTypedArrayList(Action.CREATOR); + List credentialEntries = new ArrayList<>(); + in.readTypedList(credentialEntries, CredentialEntry.CREATOR); + mCredentialEntries = credentialEntries; + List actions = new ArrayList<>(); + in.readTypedList(actions, Action.CREATOR); + mActions = actions; } public static final @NonNull Creator CREATOR = @@ -78,8 +82,8 @@ public final class CredentialsDisplayContent implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeCharSequence(mHeader); - dest.writeTypedList(mCredentialEntries); - dest.writeTypedList(mActions); + dest.writeTypedList(mCredentialEntries, flags); + dest.writeTypedList(mActions, flags); } /** diff --git a/core/java/android/service/credentials/GetCredentialsRequest.java b/core/java/android/service/credentials/GetCredentialsRequest.java index 5b1a1713ee513..e06be44330621 100644 --- a/core/java/android/service/credentials/GetCredentialsRequest.java +++ b/core/java/android/service/credentials/GetCredentialsRequest.java @@ -49,8 +49,10 @@ public final class GetCredentialsRequest implements Parcelable { } private GetCredentialsRequest(@NonNull Parcel in) { - mCallingPackage = in.readString16NoHelper(); - mGetCredentialOptions = in.createTypedArrayList(GetCredentialOption.CREATOR); + mCallingPackage = in.readString8(); + List getCredentialOptions = new ArrayList<>(); + in.readTypedList(getCredentialOptions, GetCredentialOption.CREATOR); + mGetCredentialOptions = getCredentialOptions; } public static final @NonNull Creator CREATOR = @@ -73,7 +75,7 @@ public final class GetCredentialsRequest implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - dest.writeString16NoHelper(mCallingPackage); + dest.writeString8(mCallingPackage); dest.writeTypedList(mGetCredentialOptions); } diff --git a/core/java/android/service/credentials/GetCredentialsResponse.java b/core/java/android/service/credentials/GetCredentialsResponse.java index 980d9ae47aa77..979a6993c3d49 100644 --- a/core/java/android/service/credentials/GetCredentialsResponse.java +++ b/core/java/android/service/credentials/GetCredentialsResponse.java @@ -78,9 +78,8 @@ public final class GetCredentialsResponse implements Parcelable { } private GetCredentialsResponse(@NonNull Parcel in) { - mCredentialsDisplayContent = in.readParcelable(CredentialsDisplayContent.class - .getClassLoader(), CredentialsDisplayContent.class); - mAuthenticationAction = in.readParcelable(Action.class.getClassLoader(), Action.class); + mCredentialsDisplayContent = in.readTypedObject(CredentialsDisplayContent.CREATOR); + mAuthenticationAction = in.readTypedObject(Action.CREATOR); } public static final @NonNull Creator CREATOR = @@ -103,8 +102,8 @@ public final class GetCredentialsResponse implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - dest.writeParcelable(mCredentialsDisplayContent, flags); - dest.writeParcelable(mAuthenticationAction, flags); + dest.writeTypedObject(mCredentialsDisplayContent, flags); + dest.writeTypedObject(mAuthenticationAction, flags); } /** diff --git a/core/java/android/service/credentials/SaveEntry.java b/core/java/android/service/credentials/SaveEntry.java index 18644f09ecefd..abe51d43bc485 100644 --- a/core/java/android/service/credentials/SaveEntry.java +++ b/core/java/android/service/credentials/SaveEntry.java @@ -40,10 +40,9 @@ public final class SaveEntry implements Parcelable { private final @Nullable Credential mCredential; private SaveEntry(@NonNull Parcel in) { - mSlice = in.readParcelable(Slice.class.getClassLoader(), Slice.class); - mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader(), - PendingIntent.class); - mCredential = in.readParcelable(Credential.class.getClassLoader(), Credential.class); + mSlice = in.readTypedObject(Slice.CREATOR); + mPendingIntent = in.readTypedObject(PendingIntent.CREATOR); + mCredential = in.readTypedObject(Credential.CREATOR); } public static final @NonNull Creator CREATOR = new Creator() { @@ -65,9 +64,9 @@ public final class SaveEntry implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - mSlice.writeToParcel(dest, flags); - mPendingIntent.writeToParcel(dest, flags); - mCredential.writeToParcel(dest, flags); + dest.writeTypedObject(mSlice, flags); + dest.writeTypedObject(mPendingIntent, flags); + dest.writeTypedObject(mCredential, flags); } /* package-private */ SaveEntry(