diff --git a/res/values/strings.xml b/res/values/strings.xml
index 860e1c8f6d7..efbc430be9a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -11107,6 +11107,9 @@
Use %1$s\?
+
+ %1$s on/off
+
Turn off
diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
index 47beeb66e21..a92b755331c 100644
--- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
@@ -1072,6 +1072,22 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
return mChecked;
}
+ @Override
+ public void setTitle(@Nullable CharSequence title) {
+ super.setTitle(title);
+ maybeUpdateContentDescription();
+ }
+
+ private void maybeUpdateContentDescription() {
+ final CharSequence appName = getTitle();
+
+ if (mSwitch != null && !TextUtils.isEmpty(appName)) {
+ mSwitch.setContentDescription(
+ getContext().getString(
+ R.string.credman_on_off_switch_content_description, appName));
+ }
+ }
+
public void setPreferenceListener(OnCombiPreferenceClickListener onClickListener) {
mOnClickListener = onClickListener;
}
@@ -1094,6 +1110,9 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
// Store this for later.
mSwitch = switchView;
+
+ // Update the content description.
+ maybeUpdateContentDescription();
}
super.setOnPreferenceClickListener(