Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43d7854d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use ParceledListSlice for get & create responses" into udc-dev

parents fc24f822 eafdde30
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -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 −22
Original line number Diff line number Diff line
@@ -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);
    }

+12 −9
Original line number Diff line number Diff line
@@ -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);
        }
    }
}
+32 −28
Original line number Diff line number Diff line
@@ -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);
        }
    }
}