Merge "Use ParceledListSlice for get & create responses" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
43d7854d41
@@ -19,6 +19,7 @@ package android.credentials.ui;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.TestApi;
|
||||
import android.content.pm.ParceledListSlice;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -35,7 +36,7 @@ import java.util.List;
|
||||
@TestApi
|
||||
public final class CreateCredentialProviderData extends ProviderData implements Parcelable {
|
||||
@NonNull
|
||||
private final List<Entry> mSaveEntries;
|
||||
private final ParceledListSlice<Entry> mSaveEntries;
|
||||
@Nullable
|
||||
private final Entry mRemoteEntry;
|
||||
|
||||
@@ -43,13 +44,13 @@ public final class CreateCredentialProviderData extends ProviderData implements
|
||||
@NonNull String providerFlattenedComponentName, @NonNull List<Entry> saveEntries,
|
||||
@Nullable Entry remoteEntry) {
|
||||
super(providerFlattenedComponentName);
|
||||
mSaveEntries = saveEntries;
|
||||
mSaveEntries = new ParceledListSlice<>(saveEntries);
|
||||
mRemoteEntry = remoteEntry;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public List<Entry> getSaveEntries() {
|
||||
return mSaveEntries;
|
||||
return mSaveEntries.getList();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -60,9 +61,7 @@ public final class CreateCredentialProviderData extends ProviderData implements
|
||||
private CreateCredentialProviderData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
|
||||
List<Entry> credentialEntries = new ArrayList<>();
|
||||
in.readTypedList(credentialEntries, Entry.CREATOR);
|
||||
mSaveEntries = credentialEntries;
|
||||
mSaveEntries = in.readParcelable(null, android.content.pm.ParceledListSlice.class);
|
||||
AnnotationValidations.validate(NonNull.class, null, mSaveEntries);
|
||||
|
||||
Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
|
||||
@@ -72,7 +71,7 @@ public final class CreateCredentialProviderData extends ProviderData implements
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeTypedList(mSaveEntries);
|
||||
dest.writeParcelable(mSaveEntries, flags);
|
||||
dest.writeTypedObject(mRemoteEntry, flags);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ package android.credentials.ui;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.TestApi;
|
||||
import android.content.pm.ParceledListSlice;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -35,11 +36,11 @@ import java.util.List;
|
||||
@TestApi
|
||||
public final class GetCredentialProviderData extends ProviderData implements Parcelable {
|
||||
@NonNull
|
||||
private final List<Entry> mCredentialEntries;
|
||||
private final ParceledListSlice<Entry> mCredentialEntries;
|
||||
@NonNull
|
||||
private final List<Entry> mActionChips;
|
||||
private final ParceledListSlice<Entry> mActionChips;
|
||||
@NonNull
|
||||
private final List<AuthenticationEntry> mAuthenticationEntries;
|
||||
private final ParceledListSlice<AuthenticationEntry> mAuthenticationEntries;
|
||||
@Nullable
|
||||
private final Entry mRemoteEntry;
|
||||
|
||||
@@ -49,25 +50,25 @@ public final class GetCredentialProviderData extends ProviderData implements Par
|
||||
@NonNull List<AuthenticationEntry> authenticationEntries,
|
||||
@Nullable Entry remoteEntry) {
|
||||
super(providerFlattenedComponentName);
|
||||
mCredentialEntries = credentialEntries;
|
||||
mActionChips = actionChips;
|
||||
mAuthenticationEntries = authenticationEntries;
|
||||
mCredentialEntries = new ParceledListSlice<>(credentialEntries);
|
||||
mActionChips = new ParceledListSlice<>(actionChips);
|
||||
mAuthenticationEntries = new ParceledListSlice<>(authenticationEntries);
|
||||
mRemoteEntry = remoteEntry;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public List<Entry> getCredentialEntries() {
|
||||
return mCredentialEntries;
|
||||
return mCredentialEntries.getList();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public List<Entry> getActionChips() {
|
||||
return mActionChips;
|
||||
return mActionChips.getList();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public List<AuthenticationEntry> getAuthenticationEntries() {
|
||||
return mAuthenticationEntries;
|
||||
return mAuthenticationEntries.getList();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -77,20 +78,16 @@ public final class GetCredentialProviderData extends ProviderData implements Par
|
||||
|
||||
private GetCredentialProviderData(@NonNull Parcel in) {
|
||||
super(in);
|
||||
|
||||
List<Entry> credentialEntries = new ArrayList<>();
|
||||
in.readTypedList(credentialEntries, Entry.CREATOR);
|
||||
mCredentialEntries = credentialEntries;
|
||||
mCredentialEntries = in.readParcelable(null,
|
||||
android.content.pm.ParceledListSlice.class);
|
||||
AnnotationValidations.validate(NonNull.class, null, mCredentialEntries);
|
||||
|
||||
List<Entry> actionChips = new ArrayList<>();
|
||||
in.readTypedList(actionChips, Entry.CREATOR);
|
||||
mActionChips = actionChips;
|
||||
mActionChips = in.readParcelable(null,
|
||||
android.content.pm.ParceledListSlice.class);
|
||||
AnnotationValidations.validate(NonNull.class, null, mActionChips);
|
||||
|
||||
List<AuthenticationEntry> authenticationEntries = new ArrayList<>();
|
||||
in.readTypedList(authenticationEntries, AuthenticationEntry.CREATOR);
|
||||
mAuthenticationEntries = authenticationEntries;
|
||||
mAuthenticationEntries = in.readParcelable(null,
|
||||
android.content.pm.ParceledListSlice.class);
|
||||
AnnotationValidations.validate(NonNull.class, null, mAuthenticationEntries);
|
||||
|
||||
Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
|
||||
@@ -100,9 +97,9 @@ public final class GetCredentialProviderData extends ProviderData implements Par
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeTypedList(mCredentialEntries);
|
||||
dest.writeTypedList(mActionChips);
|
||||
dest.writeTypedList(mAuthenticationEntries);
|
||||
dest.writeParcelable(mCredentialEntries, flags);
|
||||
dest.writeParcelable(mActionChips, flags);
|
||||
dest.writeParcelable(mAuthenticationEntries, flags);
|
||||
dest.writeTypedObject(mRemoteEntry, flags);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.Manifest;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.content.pm.ParceledListSlice;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -33,7 +34,7 @@ import java.util.Objects;
|
||||
* Response to a {@link BeginCreateCredentialRequest}.
|
||||
*/
|
||||
public final class BeginCreateCredentialResponse implements Parcelable {
|
||||
private final @NonNull List<CreateEntry> mCreateEntries;
|
||||
private final @NonNull ParceledListSlice<CreateEntry> mCreateEntries;
|
||||
private final @Nullable RemoteEntry mRemoteCreateEntry;
|
||||
|
||||
/**
|
||||
@@ -41,19 +42,19 @@ public final class BeginCreateCredentialResponse implements Parcelable {
|
||||
* to return.
|
||||
*/
|
||||
public BeginCreateCredentialResponse() {
|
||||
this(/*createEntries=*/new ArrayList<>(), /*remoteCreateEntry=*/null);
|
||||
this(/*createEntries=*/new ParceledListSlice<>(new ArrayList<>()),
|
||||
/*remoteCreateEntry=*/null);
|
||||
}
|
||||
|
||||
private BeginCreateCredentialResponse(@NonNull Parcel in) {
|
||||
List<CreateEntry> createEntries = new ArrayList<>();
|
||||
in.readTypedList(createEntries, CreateEntry.CREATOR);
|
||||
mCreateEntries = createEntries;
|
||||
mCreateEntries = in.readParcelable(
|
||||
null, android.content.pm.ParceledListSlice.class);
|
||||
mRemoteCreateEntry = in.readTypedObject(RemoteEntry.CREATOR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
dest.writeTypedList(mCreateEntries);
|
||||
dest.writeParcelable(mCreateEntries, flags);
|
||||
dest.writeTypedObject(mRemoteCreateEntry, flags);
|
||||
}
|
||||
|
||||
@@ -76,7 +77,7 @@ public final class BeginCreateCredentialResponse implements Parcelable {
|
||||
};
|
||||
|
||||
/* package-private */ BeginCreateCredentialResponse(
|
||||
@NonNull List<CreateEntry> createEntries,
|
||||
@NonNull ParceledListSlice<CreateEntry> createEntries,
|
||||
@Nullable RemoteEntry remoteCreateEntry) {
|
||||
this.mCreateEntries = createEntries;
|
||||
com.android.internal.util.AnnotationValidations.validate(
|
||||
@@ -86,7 +87,7 @@ public final class BeginCreateCredentialResponse implements Parcelable {
|
||||
|
||||
/** Returns the list of create entries to be displayed on the UI. */
|
||||
public @NonNull List<CreateEntry> getCreateEntries() {
|
||||
return mCreateEntries;
|
||||
return mCreateEntries.getList();
|
||||
}
|
||||
|
||||
/** Returns the remote create entry to be displayed on the UI. */
|
||||
@@ -159,7 +160,9 @@ public final class BeginCreateCredentialResponse implements Parcelable {
|
||||
* Builds a new instance of {@link BeginCreateCredentialResponse}.
|
||||
*/
|
||||
public @NonNull BeginCreateCredentialResponse build() {
|
||||
return new BeginCreateCredentialResponse(mCreateEntries, mRemoteCreateEntry);
|
||||
return new BeginCreateCredentialResponse(
|
||||
new ParceledListSlice<>(mCreateEntries),
|
||||
mRemoteCreateEntry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.Manifest;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.content.pm.ParceledListSlice;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -35,13 +36,13 @@ import java.util.Objects;
|
||||
*/
|
||||
public final class BeginGetCredentialResponse implements Parcelable {
|
||||
/** List of credential entries to be displayed on the UI. */
|
||||
private final @NonNull List<CredentialEntry> mCredentialEntries;
|
||||
private final @NonNull ParceledListSlice<CredentialEntry> mCredentialEntries;
|
||||
|
||||
/** List of authentication entries to be displayed on the UI. */
|
||||
private final @NonNull List<Action> mAuthenticationEntries;
|
||||
private final @NonNull ParceledListSlice<Action> mAuthenticationEntries;
|
||||
|
||||
/** List of provider actions to be displayed on the UI. */
|
||||
private final @NonNull List<Action> mActions;
|
||||
private final @NonNull ParceledListSlice<Action> mActions;
|
||||
|
||||
/** Remote credential entry to get the response from a different device. */
|
||||
private final @Nullable RemoteEntry mRemoteCredentialEntry;
|
||||
@@ -51,31 +52,30 @@ public final class BeginGetCredentialResponse implements Parcelable {
|
||||
* or {@link Action} to return.
|
||||
*/
|
||||
public BeginGetCredentialResponse() {
|
||||
this(/*credentialEntries=*/new ArrayList<>(),
|
||||
/*authenticationActions=*/new ArrayList<>(),
|
||||
/*actions=*/new ArrayList<>(),
|
||||
this(/*credentialEntries=*/new ParceledListSlice<>(new ArrayList<>()),
|
||||
/*authenticationEntries=*/new ParceledListSlice<>(new ArrayList<>()),
|
||||
/*actions=*/new ParceledListSlice<>(new ArrayList<>()),
|
||||
/*remoteCredentialEntry=*/null);
|
||||
}
|
||||
|
||||
private BeginGetCredentialResponse(@NonNull List<CredentialEntry> credentialEntries,
|
||||
@NonNull List<Action> authenticationEntries, @NonNull List<Action> actions,
|
||||
private BeginGetCredentialResponse(
|
||||
@NonNull ParceledListSlice<CredentialEntry> credentialEntries,
|
||||
@NonNull ParceledListSlice<Action> authenticationEntries,
|
||||
@NonNull ParceledListSlice<Action> actions,
|
||||
@Nullable RemoteEntry remoteCredentialEntry) {
|
||||
mCredentialEntries = new ArrayList<>(credentialEntries);
|
||||
mAuthenticationEntries = new ArrayList<>(authenticationEntries);
|
||||
mActions = new ArrayList<>(actions);
|
||||
mCredentialEntries = credentialEntries;
|
||||
mAuthenticationEntries = authenticationEntries;
|
||||
mActions = actions;
|
||||
mRemoteCredentialEntry = remoteCredentialEntry;
|
||||
}
|
||||
|
||||
private BeginGetCredentialResponse(@NonNull Parcel in) {
|
||||
List<CredentialEntry> credentialEntries = new ArrayList<>();
|
||||
in.readTypedList(credentialEntries, CredentialEntry.CREATOR);
|
||||
mCredentialEntries = credentialEntries;
|
||||
List<Action> authenticationEntries = new ArrayList<>();
|
||||
in.readTypedList(authenticationEntries, Action.CREATOR);
|
||||
mAuthenticationEntries = authenticationEntries;
|
||||
List<Action> actions = new ArrayList<>();
|
||||
in.readTypedList(actions, Action.CREATOR);
|
||||
mActions = actions;
|
||||
mCredentialEntries = in.readParcelable(
|
||||
null, android.content.pm.ParceledListSlice.class);
|
||||
mAuthenticationEntries = in.readParcelable(
|
||||
null, android.content.pm.ParceledListSlice.class);
|
||||
mActions = in.readParcelable(
|
||||
null, android.content.pm.ParceledListSlice.class);
|
||||
mRemoteCredentialEntry = in.readTypedObject(RemoteEntry.CREATOR);
|
||||
}
|
||||
|
||||
@@ -99,9 +99,9 @@ public final class BeginGetCredentialResponse implements Parcelable {
|
||||
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
dest.writeTypedList(mCredentialEntries, flags);
|
||||
dest.writeTypedList(mAuthenticationEntries, flags);
|
||||
dest.writeTypedList(mActions, flags);
|
||||
dest.writeParcelable(mCredentialEntries, flags);
|
||||
dest.writeParcelable(mAuthenticationEntries, flags);
|
||||
dest.writeParcelable(mActions, flags);
|
||||
dest.writeTypedObject(mRemoteCredentialEntry, flags);
|
||||
}
|
||||
|
||||
@@ -109,21 +109,22 @@ public final class BeginGetCredentialResponse implements Parcelable {
|
||||
* Returns the list of credential entries to be displayed on the UI.
|
||||
*/
|
||||
public @NonNull List<CredentialEntry> getCredentialEntries() {
|
||||
return mCredentialEntries;
|
||||
return mCredentialEntries.getList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of authentication entries to be displayed on the UI.
|
||||
*/
|
||||
public @NonNull List<Action> getAuthenticationActions() {
|
||||
return mAuthenticationEntries;
|
||||
return mAuthenticationEntries.getList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of actions to be displayed on the UI.
|
||||
*/
|
||||
public @NonNull List<Action> getActions() {
|
||||
return mActions;
|
||||
|
||||
return mActions.getList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -268,8 +269,11 @@ public final class BeginGetCredentialResponse implements Parcelable {
|
||||
* Builds a {@link BeginGetCredentialResponse} instance.
|
||||
*/
|
||||
public @NonNull BeginGetCredentialResponse build() {
|
||||
return new BeginGetCredentialResponse(mCredentialEntries, mAuthenticationEntries,
|
||||
mActions, mRemoteCredentialEntry);
|
||||
return new BeginGetCredentialResponse(
|
||||
new ParceledListSlice<>(mCredentialEntries),
|
||||
new ParceledListSlice<>(mAuthenticationEntries),
|
||||
new ParceledListSlice<>(mActions),
|
||||
mRemoteCredentialEntry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user