Add a bubbles content description

Test: manual with a11y service
Fixes: 155262236
Change-Id: Ib4c9650e1d90c4681ca721df3fde58ffc9430078
This commit is contained in:
Julia Reynolds
2020-05-29 15:33:29 -04:00
parent b7c1c4e30d
commit 4029f92f12
2 changed files with 13 additions and 0 deletions

View File

@@ -8241,6 +8241,10 @@
<string name="bubble_app_setting_selected_conversation_title">Conversations</string> <string name="bubble_app_setting_selected_conversation_title">Conversations</string>
<!-- Bubble app settings: Title above a list of conversations that have been excluded from bubbling [CHAR LIMIT=100] --> <!-- Bubble app settings: Title above a list of conversations that have been excluded from bubbling [CHAR LIMIT=100] -->
<string name="bubble_app_setting_excluded_conversation_title">All conversations can bubble except</string> <string name="bubble_app_setting_excluded_conversation_title">All conversations can bubble except</string>
<!-- Bubble app settings: Content description - action to make a conversation no longer bubble -->
<string name="bubble_app_setting_unbubble_conversation">Turn off bubbles for this conversation</string>
<!-- Bubble app settings: Content description - action to make a conversation bubble -->
<string name="bubble_app_setting_bubble_conversation">Turn on bubbles for this conversation</string>
<!-- Configure notifications: title for swipe direction [CHAR LIMIT=60] --> <!-- Configure notifications: title for swipe direction [CHAR LIMIT=60] -->
<string name="swipe_direction_title">Swipe actions</string> <string name="swipe_direction_title">Swipe actions</string>

View File

@@ -111,6 +111,7 @@ public class AppBubbleListPreferenceController extends AppConversationListPrefer
public Preference createConversationPref(final ConversationChannelWrapper conversation) { public Preference createConversationPref(final ConversationChannelWrapper conversation) {
final ConversationPreference pref = new ConversationPreference(mContext); final ConversationPreference pref = new ConversationPreference(mContext);
populateConversationPreference(conversation, pref); populateConversationPreference(conversation, pref);
pref.setOnClickBubblesConversation(mAppRow.bubblePreference == BUBBLE_PREFERENCE_ALL);
pref.setOnClickListener((v) -> { pref.setOnClickListener((v) -> {
conversation.getNotificationChannel().setAllowBubbles(DEFAULT_ALLOW_BUBBLE); conversation.getNotificationChannel().setAllowBubbles(DEFAULT_ALLOW_BUBBLE);
mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, conversation.getNotificationChannel()); mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, conversation.getNotificationChannel());
@@ -127,6 +128,7 @@ public class AppBubbleListPreferenceController extends AppConversationListPrefer
public static class ConversationPreference extends Preference implements View.OnClickListener { public static class ConversationPreference extends Preference implements View.OnClickListener {
View.OnClickListener mOnClickListener; View.OnClickListener mOnClickListener;
boolean mOnClickBubbles;
ConversationPreference(Context context) { ConversationPreference(Context context) {
super(context); super(context);
@@ -137,9 +139,16 @@ public class AppBubbleListPreferenceController extends AppConversationListPrefer
public void onBindViewHolder(final PreferenceViewHolder holder) { public void onBindViewHolder(final PreferenceViewHolder holder) {
super.onBindViewHolder(holder); super.onBindViewHolder(holder);
ImageView view = holder.itemView.findViewById(R.id.button); ImageView view = holder.itemView.findViewById(R.id.button);
view.setContentDescription(mOnClickBubbles
? getContext().getString(R.string.bubble_app_setting_bubble_conversation)
: getContext().getString(R.string.bubble_app_setting_unbubble_conversation));
view.setOnClickListener(mOnClickListener); view.setOnClickListener(mOnClickListener);
} }
public void setOnClickBubblesConversation(boolean enablesBubbles) {
mOnClickBubbles = enablesBubbles;
}
public void setOnClickListener(View.OnClickListener listener) { public void setOnClickListener(View.OnClickListener listener) {
mOnClickListener = listener; mOnClickListener = listener;
} }