Snap for 11463929 from 62fa76f719 to 24Q3-release

Change-Id: I090776dab963f02022c7d1ec722011ea8b36a8d6
This commit is contained in:
Android Build Coastguard Worker
2024-02-17 02:21:45 +00:00
2 changed files with 36 additions and 1 deletions

View File

@@ -166,7 +166,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
return CONDITIONALLY_UNAVAILABLE; return CONDITIONALLY_UNAVAILABLE;
} }
if (mServices.isEmpty()) { if (!hasNonPrimaryServices()) {
return CONDITIONALLY_UNAVAILABLE; return CONDITIONALLY_UNAVAILABLE;
} }
@@ -428,6 +428,17 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
} }
} }
@VisibleForTesting
public boolean hasNonPrimaryServices() {
for (CredentialProviderInfo availableService : mServices) {
if (!availableService.isPrimary()) {
return true;
}
}
return false;
}
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);

View File

@@ -528,6 +528,23 @@ public class CredentialManagerPreferenceControllerTest {
assertThat(thumbnail.getIntrinsicWidth()).isEqualTo(getIconSize()); assertThat(thumbnail.getIntrinsicWidth()).isEqualTo(getIconSize());
} }
@Test
public void hasNonPrimaryServices_allServicesArePrimary() {
CredentialManagerPreferenceController controller =
createControllerWithServices(
Lists.newArrayList(createCredentialProviderPrimary()));
assertThat(controller.hasNonPrimaryServices()).isFalse();
}
@Test
public void hasNonPrimaryServices_mixtureOfServices() {
CredentialManagerPreferenceController controller =
createControllerWithServices(
Lists.newArrayList(createCredentialProviderInfo(),
createCredentialProviderPrimary()));
assertThat(controller.hasNonPrimaryServices()).isTrue();
}
@Test @Test
public void testProviderLimitReached() { public void testProviderLimitReached() {
// The limit is 5 with one slot reserved for primary. // The limit is 5 with one slot reserved for primary.
@@ -580,6 +597,13 @@ public class CredentialManagerPreferenceControllerTest {
.build(); .build();
} }
private CredentialProviderInfo createCredentialProviderPrimary() {
return createCredentialProviderInfoBuilder(
"com.android.primary", "CredManProvider", "Service Label", "App Name")
.setPrimary(true)
.build();
}
private CredentialProviderInfo createCredentialProviderInfoWithSubtitle( private CredentialProviderInfo createCredentialProviderInfoWithSubtitle(
String packageName, String className, CharSequence label, CharSequence subtitle) { String packageName, String className, CharSequence label, CharSequence subtitle) {
ServiceInfo si = new ServiceInfo(); ServiceInfo si = new ServiceInfo();