diff --git a/res/values/strings.xml b/res/values/strings.xml index 4780e52f960..acda77dd7a4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -9324,6 +9324,10 @@ other {# conversations} } + + + Conversations settings + Who can interrupt @@ -9392,6 +9396,11 @@ Starred contacts + + Contacts settings + + Starred contacts settings + None @@ -9464,6 +9473,8 @@ %s (Work) Calculating\u2026 + + Apps settings +%d diff --git a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java index c44661a9d09..b1f5d75b480 100644 --- a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java +++ b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java @@ -29,6 +29,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.TwoStatePreference; +import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settingslib.notification.modes.ZenMode; import com.android.settingslib.notification.modes.ZenModesBackend; @@ -58,6 +59,8 @@ public class ZenModeAppsPreferenceController extends pref.setExtraWidgetOnClickListener(p -> { launchPrioritySettings(); }); + pref.setExtraWidgetContentDescription( + mContext.getString(R.string.zen_mode_apps_priority_apps_settings)); } } super.displayPreference(screen); diff --git a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java index 11b65bd21f5..3b9311defe8 100644 --- a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java +++ b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java @@ -38,6 +38,8 @@ import android.service.notification.ZenPolicy; import android.view.View; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; @@ -118,25 +120,27 @@ class ZenModePrioritySendersPreferenceController public void displayPreference(PreferenceScreen screen) { mPreferenceCategory = checkNotNull(screen.findPreference(getPreferenceKey())); if (mPreferenceCategory.getPreferenceCount() == 0) { - makeSelectorPreference(KEY_STARRED, - com.android.settings.R.string.zen_mode_from_starred, mIsMessages, true); - makeSelectorPreference(KEY_CONTACTS, - com.android.settings.R.string.zen_mode_from_contacts, mIsMessages, true); + makeSelectorPreference(KEY_STARRED, R.string.zen_mode_from_starred, + R.string.zen_mode_from_starred_settings, mIsMessages, true); + makeSelectorPreference(KEY_CONTACTS, R.string.zen_mode_from_contacts, + R.string.zen_mode_from_contacts_settings, mIsMessages, true); if (mIsMessages) { // "Any conversations" will only be available as option if it is the current value. // Because it's confusing and we don't want users setting it up that way, but apps // could create such ZenPolicies and we must show that. makeSelectorPreference(KEY_ANY_CONVERSATIONS, - com.android.settings.R.string.zen_mode_from_all_conversations, true, + R.string.zen_mode_from_all_conversations, + R.string.zen_mode_from_conversations_settings, true, /* isVisibleByDefault= */ false); makeSelectorPreference(KEY_IMPORTANT_CONVERSATIONS, - com.android.settings.R.string.zen_mode_from_important_conversations, true, + R.string.zen_mode_from_important_conversations, + R.string.zen_mode_from_conversations_settings, true, true); } makeSelectorPreference(KEY_ANY, - com.android.settings.R.string.zen_mode_from_anyone, mIsMessages, true); + R.string.zen_mode_from_anyone, null, mIsMessages, true); makeSelectorPreference(KEY_NONE, - com.android.settings.R.string.zen_mode_none_messages, mIsMessages, true); + R.string.zen_mode_none_messages, null, mIsMessages, true); } super.displayPreference(screen); } @@ -229,8 +233,9 @@ class ZenModePrioritySendersPreferenceController return CONVERSATION_SENDERS_UNSET; } - private void makeSelectorPreference(String key, int titleId, - boolean isCheckbox, boolean isVisibleByDefault) { + private void makeSelectorPreference(String key, @StringRes int titleId, + @Nullable @StringRes Integer settingsContentDescriptionResId, boolean isCheckbox, + boolean isVisibleByDefault) { final SelectorWithWidgetPreference pref = new SelectorWithWidgetPreference(mPreferenceCategory.getContext(), isCheckbox); pref.setKey(key); @@ -241,6 +246,9 @@ class ZenModePrioritySendersPreferenceController View.OnClickListener widgetClickListener = getWidgetClickListener(key); if (widgetClickListener != null) { pref.setExtraWidgetOnClickListener(widgetClickListener); + pref.setExtraWidgetContentDescription(settingsContentDescriptionResId != null + ? mContext.getString(settingsContentDescriptionResId) + : null); } mPreferenceCategory.addPreference(pref);