Merge "Update creddesc flag method." into udc-dev

This commit is contained in:
Omer Ozer
2023-02-23 17:22:48 +00:00
committed by Android (Google) Code Review
3 changed files with 22 additions and 21 deletions

View File

@@ -505,7 +505,19 @@ public final class CredentialManager {
* *
* @hide * @hide
*/ */
public static boolean isCredentialDescriptionApiEnabled() { public static boolean isCredentialDescriptionApiEnabled(Context context) {
if (context == null) {
return false;
}
CredentialManager credentialManager =
(CredentialManager) context.getSystemService(Context.CREDENTIAL_SERVICE);
if (credentialManager != null) {
return credentialManager.isCredentialDescriptionApiEnabled();
}
return false;
}
private boolean isCredentialDescriptionApiEnabled() {
return DeviceConfig.getBoolean( return DeviceConfig.getBoolean(
DeviceConfig.NAMESPACE_CREDENTIAL, DEVICE_CONFIG_ENABLE_CREDENTIAL_DESC_API, false); DeviceConfig.NAMESPACE_CREDENTIAL, DEVICE_CONFIG_ENABLE_CREDENTIAL_DESC_API, false);
} }
@@ -527,11 +539,6 @@ public final class CredentialManager {
*/ */
public void registerCredentialDescription( public void registerCredentialDescription(
@NonNull RegisterCredentialDescriptionRequest request) { @NonNull RegisterCredentialDescriptionRequest request) {
if (!isCredentialDescriptionApiEnabled()) {
throw new UnsupportedOperationException("This API is not currently supported.");
}
requireNonNull(request, "request must not be null"); requireNonNull(request, "request must not be null");
try { try {
@@ -550,11 +557,6 @@ public final class CredentialManager {
*/ */
public void unregisterCredentialDescription( public void unregisterCredentialDescription(
@NonNull UnregisterCredentialDescriptionRequest request) { @NonNull UnregisterCredentialDescriptionRequest request) {
if (!isCredentialDescriptionApiEnabled()) {
throw new UnsupportedOperationException("This API is not currently supported.");
}
requireNonNull(request, "request must not be null"); requireNonNull(request, "request must not be null");
try { try {

View File

@@ -19,7 +19,6 @@ package android.credentials;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertThrows;
import static org.junit.Assume.assumeTrue;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.same; import static org.mockito.ArgumentMatchers.same;
@@ -593,15 +592,12 @@ public class CredentialManagerTest {
@Test @Test
public void testRegisterCredentialDescription_nullRequest() { public void testRegisterCredentialDescription_nullRequest() {
assumeTrue(CredentialManager.isCredentialDescriptionApiEnabled());
assertThrows(NullPointerException.class, assertThrows(NullPointerException.class,
() -> mCredentialManager.registerCredentialDescription(null)); () -> mCredentialManager.registerCredentialDescription(null));
} }
@Test @Test
public void testRegisterCredentialDescription_success() throws RemoteException { public void testRegisterCredentialDescription_success() throws RemoteException {
assumeTrue(CredentialManager.isCredentialDescriptionApiEnabled());
mCredentialManager.registerCredentialDescription(mRegisterRequest); mCredentialManager.registerCredentialDescription(mRegisterRequest);
verify(mMockCredentialManagerService).registerCredentialDescription(same(mRegisterRequest), verify(mMockCredentialManagerService).registerCredentialDescription(same(mRegisterRequest),
eq(mPackageName)); eq(mPackageName));
@@ -609,16 +605,12 @@ public class CredentialManagerTest {
@Test @Test
public void testUnregisterCredentialDescription_nullRequest() { public void testUnregisterCredentialDescription_nullRequest() {
assumeTrue(CredentialManager.isCredentialDescriptionApiEnabled());
assertThrows(NullPointerException.class, assertThrows(NullPointerException.class,
() -> mCredentialManager.unregisterCredentialDescription(null)); () -> mCredentialManager.unregisterCredentialDescription(null));
} }
@Test @Test
public void testUnregisterCredentialDescription_success() throws RemoteException { public void testUnregisterCredentialDescription_success() throws RemoteException {
assumeTrue(CredentialManager.isCredentialDescriptionApiEnabled());
mCredentialManager.unregisterCredentialDescription(mUnregisterRequest); mCredentialManager.unregisterCredentialDescription(mUnregisterRequest);
verify(mMockCredentialManagerService).unregisterCredentialDescription( verify(mMockCredentialManagerService).unregisterCredentialDescription(
same(mUnregisterRequest), eq(mPackageName)); same(mUnregisterRequest), eq(mPackageName));

View File

@@ -422,8 +422,7 @@ public final class CredentialManagerService
GetRequestSession session) { GetRequestSession session) {
List<ProviderSession> providerSessions; List<ProviderSession> providerSessions;
// TODO(b/268143699): temporarily disable the flag due to bug. if (isCredentialDescriptionApiEnabled()) {
if (false) {
List<CredentialOption> optionsThatRequireActiveCredentials = List<CredentialOption> optionsThatRequireActiveCredentials =
request.getCredentialOptions().stream() request.getCredentialOptions().stream()
.filter( .filter(
@@ -776,6 +775,10 @@ public final class CredentialManagerService
throws IllegalArgumentException, NonCredentialProviderCallerException { throws IllegalArgumentException, NonCredentialProviderCallerException {
Log.i(TAG, "registerCredentialDescription"); Log.i(TAG, "registerCredentialDescription");
if (!isCredentialDescriptionApiEnabled()) {
throw new UnsupportedOperationException();
}
enforceCallingPackage(callingPackage, Binder.getCallingUid()); enforceCallingPackage(callingPackage, Binder.getCallingUid());
List<CredentialProviderInfo> services = List<CredentialProviderInfo> services =
@@ -828,6 +831,10 @@ public final class CredentialManagerService
throws IllegalArgumentException { throws IllegalArgumentException {
Log.i(TAG, "registerCredentialDescription"); Log.i(TAG, "registerCredentialDescription");
if (!isCredentialDescriptionApiEnabled()) {
throw new UnsupportedOperationException();
}
enforceCallingPackage(callingPackage, Binder.getCallingUid()); enforceCallingPackage(callingPackage, Binder.getCallingUid());
List<CredentialProviderInfo> services = List<CredentialProviderInfo> services =