From d1d32e7d2295adf07b8662e0112a7c8ce68b72eb Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Tue, 19 May 2020 14:36:32 -0400 Subject: [PATCH] Fix button selected state Test: toggle between buttons with a11y service Fixes: 156990411 Change-Id: I421c6d2e9762794bdf8a090db8a808678ffd8a1c --- .../app/ConversationPriorityPreference.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/notification/app/ConversationPriorityPreference.java b/src/com/android/settings/notification/app/ConversationPriorityPreference.java index ff1dc6c5d91..307abec97b1 100644 --- a/src/com/android/settings/notification/app/ConversationPriorityPreference.java +++ b/src/com/android/settings/notification/app/ConversationPriorityPreference.java @@ -179,7 +179,11 @@ public class ConversationPriorityPreference extends Preference { // a11y service won't always read the newly appearing text in the right order if the // selection happens too soon (readback happens on a different thread as layout). post // the selection to make that conflict less likely - parent.post(() -> mSilenceButton.setSelected(true)); + parent.post(() -> { + mSilenceButton.setSelected(true); + mAlertButton.setSelected(false); + mPriorityButton.setSelected(false); + }); } else { if (isPriority) { alertSummary.setVisibility(GONE); @@ -197,7 +201,11 @@ public class ConversationPriorityPreference extends Preference { mAlertButton.setBackground(unselectedBackground); mPriorityButton.setBackground(selectedBackground); mSilenceButton.setBackground(unselectedBackground); - parent.post(() -> mPriorityButton.setSelected(true)); + parent.post(() -> { + mSilenceButton.setSelected(false); + mAlertButton.setSelected(false); + mPriorityButton.setSelected(true); + }); } else { alertSummary.setVisibility(VISIBLE); alertIcon.setImageTintList(colorAccent); @@ -214,7 +222,11 @@ public class ConversationPriorityPreference extends Preference { mAlertButton.setBackground(selectedBackground); mPriorityButton.setBackground(unselectedBackground); mSilenceButton.setBackground(unselectedBackground); - parent.post(() -> mAlertButton.setSelected(true)); + parent.post(() -> { + mSilenceButton.setSelected(false); + mAlertButton.setSelected(true); + mPriorityButton.setSelected(false); + }); } } }