Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 899491b4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add subtitle to settings (settings)"

parents af7aff54 6474e013
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -176,7 +176,8 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
                context,
                label == null ? "" : label,
                service.getServiceIcon(mContext),
                service.getServiceInfo().packageName);
                service.getServiceInfo().packageName,
                service.getSettingsSubtitle());
    }

    /**
@@ -234,7 +235,8 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
            @NonNull Context prefContext,
            @NonNull CharSequence title,
            @Nullable Drawable icon,
            @NonNull String packageName) {
            @NonNull String packageName,
            @Nullable CharSequence subtitle) {
        final SwitchPreference pref = new SwitchPreference(prefContext);
        pref.setTitle(title);
        pref.setChecked(mEnabledPackageNames.contains(packageName));
@@ -244,6 +246,10 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
            pref.setIcon(Utils.getSafeIcon(icon));
        }

        if (subtitle != null) {
            pref.setSummary(subtitle);
        }

        pref.setOnPreferenceClickListener(
                p -> {
                    boolean isChecked = pref.isChecked();
+14 −2
Original line number Diff line number Diff line
@@ -115,10 +115,10 @@ public class CredentialManagerPreferenceControllerTest {
    public void buildSwitchPreference() {
        CredentialProviderInfo providerInfo1 =
                createCredentialProviderInfo(
                        "com.android.provider1", "ClassA", "Service Title", false);
                        "com.android.provider1", "ClassA", "Service Title", false, null);
        CredentialProviderInfo providerInfo2 =
                createCredentialProviderInfo(
                        "com.android.provider2", "ClassA", "Service Title", false);
                        "com.android.provider2", "ClassA", "Service Title", false, "Summary Text");
        CredentialManagerPreferenceController controller =
                createControllerWithServices(Lists.newArrayList(providerInfo1, providerInfo2));
        assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -139,11 +139,13 @@ public class CredentialManagerPreferenceControllerTest {
        SwitchPreference pref = controller.createPreference(mContext, providerInfo1);
        assertThat(pref.getTitle().toString()).isEqualTo("Service Title");
        assertThat(pref.isChecked()).isTrue();
        assertThat(pref.getSummary()).isNull();

        // Create the pref (not checked).
        SwitchPreference pref2 = controller.createPreference(mContext, providerInfo2);
        assertThat(pref2.getTitle().toString()).isEqualTo("Service Title");
        assertThat(pref2.isChecked()).isFalse();
        assertThat(pref2.getSummary().toString()).isEqualTo("Summary Text");
    }

    @Test
@@ -264,6 +266,15 @@ public class CredentialManagerPreferenceControllerTest {

    private CredentialProviderInfo createCredentialProviderInfo(
            String packageName, String className, CharSequence label, boolean isEnabled) {
        return createCredentialProviderInfo(packageName, className, label, isEnabled, null);
    }

    private CredentialProviderInfo createCredentialProviderInfo(
            String packageName,
            String className,
            CharSequence label,
            boolean isEnabled,
            CharSequence subtitle) {
        ServiceInfo si = new ServiceInfo();
        si.packageName = packageName;
        si.name = className;
@@ -276,6 +287,7 @@ public class CredentialManagerPreferenceControllerTest {
        return new CredentialProviderInfo.Builder(si)
                .setOverrideLabel(label)
                .setEnabled(isEnabled)
                .setSettingsSubtitle(subtitle)
                .build();
    }
}