Snap for 11464157 from f1c1e011b2
to 24Q2-release
Change-Id: Iac59c2fd0dc2d243c1f584957b948ebe0aecced3
This commit is contained in:
@@ -34,6 +34,9 @@
|
||||
android:paddingStart="@dimen/search_bar_padding_start"
|
||||
android:paddingEnd="@dimen/search_bar_padding_end"
|
||||
android:background="@drawable/search_bar_selected_background"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:nextFocusForward="@+id/homepage_container"
|
||||
android:contentInsetStartWithNavigation="@dimen/search_bar_content_inset"
|
||||
android:navigationIcon="@drawable/ic_homepage_search">
|
||||
<TextView
|
||||
|
@@ -166,7 +166,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
|
||||
return CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
|
||||
if (mServices.isEmpty()) {
|
||||
if (!hasNonPrimaryServices()) {
|
||||
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
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
|
@@ -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.
|
||||
@@ -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();
|
||||
|
Reference in New Issue
Block a user