Merge "Add default provider id to the UI-backend interface" into udc-dev
This commit is contained in:
@@ -30,6 +30,8 @@ import com.android.internal.util.AnnotationValidations;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Contains information about the request that initiated this UX flow.
|
||||
@@ -64,6 +66,9 @@ public final class RequestInfo implements Parcelable {
|
||||
@Nullable
|
||||
private final CreateCredentialRequest mCreateCredentialRequest;
|
||||
|
||||
@NonNull
|
||||
private final List<String> mDefaultProviderIds;
|
||||
|
||||
@Nullable
|
||||
private final GetCredentialRequest mGetCredentialRequest;
|
||||
|
||||
@@ -83,7 +88,8 @@ public final class RequestInfo implements Parcelable {
|
||||
@NonNull String appPackageName) {
|
||||
return new RequestInfo(
|
||||
token, TYPE_CREATE, appPackageName, createCredentialRequest, null,
|
||||
/*hasPermissionToOverrideDefault=*/ false);
|
||||
/*hasPermissionToOverrideDefault=*/ false,
|
||||
/*defaultProviderIds=*/ new ArrayList<>());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -94,10 +100,11 @@ public final class RequestInfo implements Parcelable {
|
||||
@NonNull
|
||||
public static RequestInfo newCreateRequestInfo(
|
||||
@NonNull IBinder token, @NonNull CreateCredentialRequest createCredentialRequest,
|
||||
@NonNull String appPackageName, boolean hasPermissionToOverrideDefault) {
|
||||
@NonNull String appPackageName, boolean hasPermissionToOverrideDefault,
|
||||
@NonNull List<String> defaultProviderIds) {
|
||||
return new RequestInfo(
|
||||
token, TYPE_CREATE, appPackageName, createCredentialRequest, null,
|
||||
hasPermissionToOverrideDefault);
|
||||
hasPermissionToOverrideDefault, defaultProviderIds);
|
||||
}
|
||||
|
||||
/** Creates new {@code RequestInfo} for a get-credential flow. */
|
||||
@@ -107,7 +114,8 @@ public final class RequestInfo implements Parcelable {
|
||||
@NonNull String appPackageName) {
|
||||
return new RequestInfo(
|
||||
token, TYPE_GET, appPackageName, null, getCredentialRequest,
|
||||
/*hasPermissionToOverrideDefault=*/ false);
|
||||
/*hasPermissionToOverrideDefault=*/ false,
|
||||
/*defaultProviderIds=*/ new ArrayList<>());
|
||||
}
|
||||
|
||||
|
||||
@@ -148,6 +156,20 @@ public final class RequestInfo implements Parcelable {
|
||||
return mCreateCredentialRequest;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns default provider identifier (flattened component name) configured from the user
|
||||
* settings.
|
||||
*
|
||||
* Will only be possibly non-empty for the create use case. Not meaningful for the sign-in use
|
||||
* case.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public List<String> getDefaultProviderIds() {
|
||||
return mDefaultProviderIds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the non-null GetCredentialRequest when the type of the request is {@link
|
||||
* #TYPE_GET}, or null otherwise.
|
||||
@@ -161,13 +183,15 @@ public final class RequestInfo implements Parcelable {
|
||||
@NonNull String appPackageName,
|
||||
@Nullable CreateCredentialRequest createCredentialRequest,
|
||||
@Nullable GetCredentialRequest getCredentialRequest,
|
||||
boolean hasPermissionToOverrideDefault) {
|
||||
boolean hasPermissionToOverrideDefault,
|
||||
@NonNull List<String> defaultProviderIds) {
|
||||
mToken = token;
|
||||
mType = type;
|
||||
mAppPackageName = appPackageName;
|
||||
mCreateCredentialRequest = createCredentialRequest;
|
||||
mGetCredentialRequest = getCredentialRequest;
|
||||
mHasPermissionToOverrideDefault = hasPermissionToOverrideDefault;
|
||||
mDefaultProviderIds = defaultProviderIds == null ? new ArrayList<>() : defaultProviderIds;
|
||||
}
|
||||
|
||||
private RequestInfo(@NonNull Parcel in) {
|
||||
@@ -188,6 +212,7 @@ public final class RequestInfo implements Parcelable {
|
||||
mCreateCredentialRequest = createCredentialRequest;
|
||||
mGetCredentialRequest = getCredentialRequest;
|
||||
mHasPermissionToOverrideDefault = in.readBoolean();
|
||||
mDefaultProviderIds = in.createStringArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -198,6 +223,7 @@ public final class RequestInfo implements Parcelable {
|
||||
dest.writeTypedObject(mCreateCredentialRequest, flags);
|
||||
dest.writeTypedObject(mGetCredentialRequest, flags);
|
||||
dest.writeBoolean(mHasPermissionToOverrideDefault);
|
||||
dest.writeStringList(mDefaultProviderIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -98,7 +98,9 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
|
||||
mRequestId, mClientRequest,
|
||||
mClientAppInfo.getPackageName(),
|
||||
PermissionUtils.hasPermission(mContext, mClientAppInfo.getPackageName(),
|
||||
Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS)),
|
||||
Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS),
|
||||
// TODO(b/279480457): populate
|
||||
/*defaultProviderId=*/new ArrayList<>()),
|
||||
providerDataList);
|
||||
mClientCallback.onPendingIntent(mPendingIntent);
|
||||
} catch (RemoteException e) {
|
||||
|
||||
Reference in New Issue
Block a user