Snap for 11464157 from f1c1e011b2 to 24Q2-release

Change-Id: Iac59c2fd0dc2d243c1f584957b948ebe0aecced3
This commit is contained in:
Android Build Coastguard Worker
2024-02-17 02:21:40 +00:00
3 changed files with 39 additions and 1 deletions

View File

@@ -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

View File

@@ -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);

View File

@@ -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();