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

Commit 70eeab70 authored by Helen Qin's avatar Helen Qin Committed by Android (Google) Code Review
Browse files

Merge "Add a top request level Bundle property to GetCredentialRequest."

parents d44c69d2 5f731c70
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -13192,13 +13192,14 @@ package android.credentials {
  public final class GetCredentialRequest implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.os.Bundle getData();
    method @NonNull public java.util.List<android.credentials.GetCredentialOption> getGetCredentialOptions();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.GetCredentialRequest> CREATOR;
  }
  public static final class GetCredentialRequest.Builder {
    ctor public GetCredentialRequest.Builder();
    ctor public GetCredentialRequest.Builder(@NonNull android.os.Bundle);
    method @NonNull public android.credentials.GetCredentialRequest.Builder addGetCredentialOption(@NonNull android.credentials.GetCredentialOption);
    method @NonNull public android.credentials.GetCredentialRequest build();
    method @NonNull public android.credentials.GetCredentialRequest.Builder setGetCredentialOptions(@NonNull java.util.List<android.credentials.GetCredentialOption>);
+56 −16
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.credentials;
import static java.util.Objects.requireNonNull;

import android.annotation.NonNull;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;

@@ -40,6 +41,12 @@ public final class GetCredentialRequest implements Parcelable {
    @NonNull
    private final List<GetCredentialOption> mGetCredentialOptions;

    /**
     * The top request level data.
     */
    @NonNull
    private final Bundle mData;

    /**
     * Returns the list of credential options to be requested.
     */
@@ -48,9 +55,18 @@ public final class GetCredentialRequest implements Parcelable {
        return mGetCredentialOptions;
    }

    /**
     * Returns the top request level data.
     */
    @NonNull
    public Bundle getData() {
        return mData;
    }

    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeTypedList(mGetCredentialOptions, flags);
        dest.writeBundle(mData);
    }

    @Override
@@ -60,10 +76,13 @@ public final class GetCredentialRequest implements Parcelable {

    @Override
    public String toString() {
        return "GetCredentialRequest {getCredentialOption=" + mGetCredentialOptions + "}";
        return "GetCredentialRequest {getCredentialOption=" + mGetCredentialOptions
                + ", data=" + mData
                + "}";
    }

    private GetCredentialRequest(@NonNull List<GetCredentialOption> getCredentialOptions) {
    private GetCredentialRequest(@NonNull List<GetCredentialOption> getCredentialOptions,
            @NonNull Bundle data) {
        Preconditions.checkCollectionNotEmpty(
                getCredentialOptions,
                /*valueName=*/ "getCredentialOptions");
@@ -71,6 +90,8 @@ public final class GetCredentialRequest implements Parcelable {
                getCredentialOptions,
                /*valueName=*/ "getCredentialOptions");
        mGetCredentialOptions = getCredentialOptions;
        mData = requireNonNull(data,
                "data must not be null");
    }

    private GetCredentialRequest(@NonNull Parcel in) {
@@ -78,6 +99,11 @@ public final class GetCredentialRequest implements Parcelable {
        in.readTypedList(getCredentialOptions, GetCredentialOption.CREATOR);
        mGetCredentialOptions = getCredentialOptions;
        AnnotationValidations.validate(NonNull.class, null, mGetCredentialOptions);


        Bundle data = in.readBundle();
        mData = data;
        AnnotationValidations.validate(NonNull.class, null, mData);
    }

    public static final @NonNull Parcelable.Creator<GetCredentialRequest> CREATOR =
@@ -96,12 +122,24 @@ public final class GetCredentialRequest implements Parcelable {
    /** A builder for {@link GetCredentialRequest}. */
    public static final class Builder {

        private @NonNull List<GetCredentialOption> mGetCredentialOptions = new ArrayList<>();
        @NonNull
        private List<GetCredentialOption> mGetCredentialOptions = new ArrayList<>();

        @NonNull
        private final Bundle mData;

        /**
         * @param data the top request level data
         */
        public Builder(@NonNull Bundle data) {
            mData = requireNonNull(data, "data must not be null");
        }

        /**
         * Adds a specific type of {@link GetCredentialOption}.
         */
        public @NonNull Builder addGetCredentialOption(
        @NonNull
        public Builder addGetCredentialOption(
                @NonNull GetCredentialOption getCredentialOption) {
            mGetCredentialOptions.add(requireNonNull(
                    getCredentialOption, "getCredentialOption must not be null"));
@@ -111,7 +149,8 @@ public final class GetCredentialRequest implements Parcelable {
        /**
         * Sets the list of {@link GetCredentialOption}.
         */
        public @NonNull Builder setGetCredentialOptions(
        @NonNull
        public Builder setGetCredentialOptions(
                @NonNull List<GetCredentialOption> getCredentialOptions) {
            Preconditions.checkCollectionElementsNotNull(
                    getCredentialOptions,
@@ -125,14 +164,15 @@ public final class GetCredentialRequest implements Parcelable {
         *
         * @throws IllegalArgumentException If getCredentialOptions is empty.
         */
        public @NonNull GetCredentialRequest build() {
        @NonNull
        public GetCredentialRequest build() {
            Preconditions.checkCollectionNotEmpty(
                    mGetCredentialOptions,
                    /*valueName=*/ "getCredentialOptions");
            Preconditions.checkCollectionElementsNotNull(
                    mGetCredentialOptions,
                    /*valueName=*/ "getCredentialOptions");
            return new GetCredentialRequest(mGetCredentialOptions);
            return new GetCredentialRequest(mGetCredentialOptions, mData);
        }
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -467,7 +467,9 @@ class CredentialManagerRepo(
  private fun testGetRequestInfo(): RequestInfo {
    return RequestInfo.newGetRequestInfo(
      Binder(),
      GetCredentialRequest.Builder()
      GetCredentialRequest.Builder(
        Bundle()
      )
        .addGetCredentialOption(
          GetCredentialOption(
            TYPE_PUBLIC_KEY_CREDENTIAL, Bundle(), Bundle(), /*requireSystemProvider=*/ false)