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

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

Merge "Allow requests to require system providers."

parents 37c778b2 9e5ed002
Loading
Loading
Loading
Loading
+46 −4
Original line number Diff line number Diff line
@@ -44,6 +44,11 @@ public final class CreateCredentialRequest implements Parcelable {
    @NonNull
    private final Bundle mData;

    /**
     * Determines whether or not the request must only be fulfilled by a system provider.
     */
    private final boolean mRequireSystemProvider;

    /**
     * Returns the requested credential type.
     */
@@ -60,10 +65,21 @@ public final class CreateCredentialRequest implements Parcelable {
        return mData;
    }

    /**
     * Returns true if the request must only be fulfilled by a system provider, and false
     * otherwise.
     *
     * @hide
     */
    public boolean requireSystemProvider() {
        return mRequireSystemProvider;
    }

    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeString8(mType);
        dest.writeBundle(mData);
        dest.writeBoolean(mRequireSystemProvider);
    }

    @Override
@@ -73,30 +89,56 @@ public final class CreateCredentialRequest implements Parcelable {

    @Override
    public String toString() {
        return "CreateCredentialRequest {" + "type=" + mType + ", data=" + mData + "}";
        return "CreateCredentialRequest {"
                + "type=" + mType
                + ", data=" + mData
                + ", requireSystemProvider=" + mRequireSystemProvider
                + "}";
    }

    /**
     * Constructs a {@link CreateCredentialRequest}.
     *
     * @param type the requested credential type.
     * @param data the request data.
     * @param type the requested credential type
     * @param data the request data
     *
     * @throws IllegalArgumentException If type is empty.
     * @throws IllegalArgumentException If type is empty
     */
    public CreateCredentialRequest(@NonNull String type, @NonNull Bundle data) {
        this(type, data, /*requireSystemProvider=*/ false);
    }

    /**
     * Constructs a {@link CreateCredentialRequest}.
     *
     * @param type the requested credential type
     * @param data the request data
     * @param requireSystemProvider whether or not the request must only be fulfilled by a system
     *                              provider
     *
     * @throws IllegalArgumentException If type is empty.
     *
     * @hide
     */
    public CreateCredentialRequest(
            @NonNull String type,
            @NonNull Bundle data,
            boolean requireSystemProvider) {
        mType = Preconditions.checkStringNotEmpty(type, "type must not be empty");
        mData = requireNonNull(data, "data must not be null");
        mRequireSystemProvider = requireSystemProvider;
    }

    private CreateCredentialRequest(@NonNull Parcel in) {
        String type = in.readString8();
        Bundle data = in.readBundle();
        boolean requireSystemProvider = in.readBoolean();

        mType = type;
        AnnotationValidations.validate(NonNull.class, null, mType);
        mData = data;
        AnnotationValidations.validate(NonNull.class, null, mData);
        mRequireSystemProvider = requireSystemProvider;
    }

    public static final @NonNull Parcelable.Creator<CreateCredentialRequest> CREATOR =
+46 −4
Original line number Diff line number Diff line
@@ -43,6 +43,11 @@ public final class GetCredentialOption implements Parcelable {
    @NonNull
    private final Bundle mData;

    /**
     * Determines whether or not the request must only be fulfilled by a system provider.
     */
    private final boolean mRequireSystemProvider;

    /**
     * Returns the requested credential type.
     */
@@ -59,10 +64,21 @@ public final class GetCredentialOption implements Parcelable {
        return mData;
    }

    /**
     * Returns true if the request must only be fulfilled by a system provider, and false
     * otherwise.
     *
     * @hide
     */
    public boolean requireSystemProvider() {
        return mRequireSystemProvider;
    }

    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeString8(mType);
        dest.writeBundle(mData);
        dest.writeBoolean(mRequireSystemProvider);
    }

    @Override
@@ -72,30 +88,56 @@ public final class GetCredentialOption implements Parcelable {

    @Override
    public String toString() {
        return "GetCredentialOption {" + "type=" + mType + ", data=" + mData + "}";
        return "GetCredentialOption {"
                + "type=" + mType
                + ", data=" + mData
                + ", requireSystemProvider=" + mRequireSystemProvider
                + "}";
    }

    /**
     * Constructs a {@link GetCredentialOption}.
     *
     * @param type the requested credential type.
     * @param data the request data.
     * @param type the requested credential type
     * @param data the request data
     *
     * @throws IllegalArgumentException If type is empty.
     * @throws IllegalArgumentException If type is empty
     */
    public GetCredentialOption(@NonNull String type, @NonNull Bundle data) {
        this(type, data, /*requireSystemProvider=*/ false);
    }

    /**
     * Constructs a {@link GetCredentialOption}.
     *
     * @param type the requested credential type
     * @param data the request data
     * @param requireSystemProvider whether or not the request must only be fulfilled by a system
     *                              provider
     *
     * @throws IllegalArgumentException If type is empty.
     *
     * @hide
     */
    public GetCredentialOption(
            @NonNull String type,
            @NonNull Bundle data,
            boolean requireSystemProvider) {
        mType = Preconditions.checkStringNotEmpty(type, "type must not be empty");
        mData = requireNonNull(data, "data must not be null");
        mRequireSystemProvider = requireSystemProvider;
    }

    private GetCredentialOption(@NonNull Parcel in) {
        String type = in.readString8();
        Bundle data = in.readBundle();
        boolean requireSystemProvider = in.readBoolean();

        mType = type;
        AnnotationValidations.validate(NonNull.class, null, mType);
        mData = data;
        AnnotationValidations.validate(NonNull.class, null, mData);
        mRequireSystemProvider = requireSystemProvider;
    }

    public static final @NonNull Parcelable.Creator<GetCredentialOption> CREATOR =