Merge "Add type to builder constructor as it is required" into udc-dev

This commit is contained in:
Reema Bajwa
2023-03-03 18:37:07 +00:00
committed by Android (Google) Code Review
4 changed files with 16 additions and 21 deletions

View File

@@ -13594,12 +13594,11 @@ package android.credentials {
} }
public static final class CreateCredentialRequest.Builder { public static final class CreateCredentialRequest.Builder {
ctor public CreateCredentialRequest.Builder(@NonNull android.os.Bundle, @NonNull android.os.Bundle); ctor public CreateCredentialRequest.Builder(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.Bundle);
method @NonNull public android.credentials.CreateCredentialRequest build(); method @NonNull public android.credentials.CreateCredentialRequest build();
method @NonNull public android.credentials.CreateCredentialRequest.Builder setAlwaysSendAppInfoToProvider(boolean); method @NonNull public android.credentials.CreateCredentialRequest.Builder setAlwaysSendAppInfoToProvider(boolean);
method @NonNull public android.credentials.CreateCredentialRequest.Builder setIsSystemProviderRequired(boolean); method @NonNull public android.credentials.CreateCredentialRequest.Builder setIsSystemProviderRequired(boolean);
method @NonNull @RequiresPermission(android.Manifest.permission.CREDENTIAL_MANAGER_SET_ORIGIN) public android.credentials.CreateCredentialRequest.Builder setOrigin(@NonNull String); method @NonNull @RequiresPermission(android.Manifest.permission.CREDENTIAL_MANAGER_SET_ORIGIN) public android.credentials.CreateCredentialRequest.Builder setOrigin(@NonNull String);
method @NonNull public android.credentials.CreateCredentialRequest.Builder setType(@NonNull String);
} }
public final class CreateCredentialResponse implements android.os.Parcelable { public final class CreateCredentialResponse implements android.os.Parcelable {

View File

@@ -260,11 +260,17 @@ public final class CreateCredentialRequest implements Parcelable {
private String mOrigin; private String mOrigin;
/** /**
* @param type the type of the credential to be stored
* @param credentialData the full credential creation request data * @param credentialData the full credential creation request data
* @param candidateQueryData the partial request data that will be sent to the provider * @param candidateQueryData the partial request data that will be sent to the provider
* during the initial creation candidate query stage * during the initial creation candidate query stage
*/ */
public Builder(@NonNull Bundle credentialData, @NonNull Bundle candidateQueryData) { public Builder(
@NonNull String type,
@NonNull Bundle credentialData,
@NonNull Bundle candidateQueryData) {
mType = Preconditions.checkStringNotEmpty(type,
"type must not be null or empty");
mCredentialData = requireNonNull(credentialData, mCredentialData = requireNonNull(credentialData,
"credentialData must not be null"); "credentialData must not be null");
mCandidateQueryData = requireNonNull(candidateQueryData, mCandidateQueryData = requireNonNull(candidateQueryData,
@@ -290,16 +296,6 @@ public final class CreateCredentialRequest implements Parcelable {
return this; return this;
} }
/**
* Sets the requested credential type.
*/
@SuppressLint("MissingGetterMatchingBuilder")
@NonNull
public CreateCredentialRequest.Builder setType(@NonNull String type) {
mType = type;
return this;
}
/** /**
* Sets whether the request must only be fulfilled by a system provider. * Sets whether the request must only be fulfilled by a system provider.
* This defaults to false * This defaults to false

View File

@@ -101,8 +101,9 @@ public class CredentialManagerTest {
mGetRequest = new GetCredentialRequest.Builder(Bundle.EMPTY).addCredentialOption( mGetRequest = new GetCredentialRequest.Builder(Bundle.EMPTY).addCredentialOption(
new CredentialOption(Credential.TYPE_PASSWORD_CREDENTIAL, Bundle.EMPTY, new CredentialOption(Credential.TYPE_PASSWORD_CREDENTIAL, Bundle.EMPTY,
Bundle.EMPTY, false)).build(); Bundle.EMPTY, false)).build();
mCreateRequest = new CreateCredentialRequest.Builder(Bundle.EMPTY, Bundle.EMPTY) mCreateRequest = new CreateCredentialRequest.Builder(
.setType(Credential.TYPE_PASSWORD_CREDENTIAL) Credential.TYPE_PASSWORD_CREDENTIAL,
Bundle.EMPTY, Bundle.EMPTY)
.setIsSystemProviderRequired(false) .setIsSystemProviderRequired(false)
.setAlwaysSendAppInfoToProvider(false) .setAlwaysSendAppInfoToProvider(false)
.build(); .build();

View File

@@ -407,8 +407,8 @@ class CredentialManagerRepo(
val credentialData = request.credentialData val credentialData = request.credentialData
return RequestInfo.newCreateRequestInfo( return RequestInfo.newCreateRequestInfo(
Binder(), Binder(),
CreateCredentialRequest.Builder(credentialData, Bundle()) CreateCredentialRequest.Builder("androidx.credentials.TYPE_PUBLIC_KEY_CREDENTIAL",
.setType("androidx.credentials.TYPE_PUBLIC_KEY_CREDENTIAL") credentialData, Bundle())
.setIsSystemProviderRequired(false) .setIsSystemProviderRequired(false)
.setAlwaysSendAppInfoToProvider(true) .setAlwaysSendAppInfoToProvider(true)
.build(), .build(),
@@ -420,8 +420,8 @@ class CredentialManagerRepo(
val request = CreatePasswordRequest("beckett-bakert@gmail.com", "password123") val request = CreatePasswordRequest("beckett-bakert@gmail.com", "password123")
return RequestInfo.newCreateRequestInfo( return RequestInfo.newCreateRequestInfo(
Binder(), Binder(),
CreateCredentialRequest.Builder(request.credentialData, request.candidateQueryData) CreateCredentialRequest.Builder(TYPE_PASSWORD_CREDENTIAL,
.setType(TYPE_PASSWORD_CREDENTIAL) request.credentialData, request.candidateQueryData)
.setIsSystemProviderRequired(false) .setIsSystemProviderRequired(false)
.setAlwaysSendAppInfoToProvider(true) .setAlwaysSendAppInfoToProvider(true)
.build(), .build(),
@@ -438,8 +438,7 @@ class CredentialManagerRepo(
) )
return RequestInfo.newCreateRequestInfo( return RequestInfo.newCreateRequestInfo(
Binder(), Binder(),
CreateCredentialRequest.Builder(data, Bundle()) CreateCredentialRequest.Builder("other-sign-ins", data, Bundle())
.setType("other-sign-ins")
.setIsSystemProviderRequired(false) .setIsSystemProviderRequired(false)
.setAlwaysSendAppInfoToProvider(true) .setAlwaysSendAppInfoToProvider(true)
.build(), .build(),