Add subtitle to settings (settings)

Allows a credential provider to show a
subtitle/summary underneath the title in
the list of providers.

Test: ondevice & atest
Bug: 253157366
Change-Id: I481da16985027a49ee464623b6db166d941cab55
This commit is contained in:
Becca Hughes
2023-02-23 19:52:53 +00:00
parent 53936d0ec3
commit 6474e01372
2 changed files with 22 additions and 4 deletions

View File

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