Loading src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +12 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl return CONDITIONALLY_UNAVAILABLE; } if (mServices.isEmpty()) { if (!hasNonPrimaryServices()) { return CONDITIONALLY_UNAVAILABLE; } Loading Loading @@ -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 public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); Loading tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,23 @@ public class CredentialManagerPreferenceControllerTest { 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 public void testProviderLimitReached() { // The limit is 5 with one slot reserved for primary. Loading Loading @@ -580,6 +597,13 @@ public class CredentialManagerPreferenceControllerTest { .build(); } private CredentialProviderInfo createCredentialProviderPrimary() { return createCredentialProviderInfoBuilder( "com.android.primary", "CredManProvider", "Service Label", "App Name") .setPrimary(true) .build(); } private CredentialProviderInfo createCredentialProviderInfoWithSubtitle( String packageName, String className, CharSequence label, CharSequence subtitle) { ServiceInfo si = new ServiceInfo(); Loading Loading
src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +12 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl return CONDITIONALLY_UNAVAILABLE; } if (mServices.isEmpty()) { if (!hasNonPrimaryServices()) { return CONDITIONALLY_UNAVAILABLE; } Loading Loading @@ -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 public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); Loading
tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,23 @@ public class CredentialManagerPreferenceControllerTest { 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 public void testProviderLimitReached() { // The limit is 5 with one slot reserved for primary. Loading Loading @@ -580,6 +597,13 @@ public class CredentialManagerPreferenceControllerTest { .build(); } private CredentialProviderInfo createCredentialProviderPrimary() { return createCredentialProviderInfoBuilder( "com.android.primary", "CredManProvider", "Service Label", "App Name") .setPrimary(true) .build(); } private CredentialProviderInfo createCredentialProviderInfoWithSubtitle( String packageName, String className, CharSequence label, CharSequence subtitle) { ServiceInfo si = new ServiceInfo(); Loading