From 66da07bf81c4c720a7b5971015d7e13421e69a6b Mon Sep 17 00:00:00 2001 From: Milo Sredkov Date: Tue, 17 Apr 2018 14:04:54 +0100 Subject: [PATCH] Set accessibility action label for smart replies. Currently the TalkBack reads something like "I am here, button, double-tap to activate". Set an accessiblity delegate that changes the click action label to "send", so the TalkBack message becomes "I am here, button, double-tap to send". Bug: 72216277 Test: In Notify post a notification with choices. Read it via TalkBack. Change-Id: Ib50f6ff6f698196d905aea2e303b6bd2e5531587 --- packages/SystemUI/res/values/strings.xml | 2 ++ .../systemui/statusbar/policy/SmartReplyView.java | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index a4ea5e81878dc..090d012af72cb 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -240,6 +240,8 @@ Waiting for fingerprint Unlock without using your fingerprint + + Send unlock diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java index 4d86ae925c660..143168210a517 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java @@ -17,6 +17,8 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.accessibility.AccessibilityNodeInfo; +import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction; import android.widget.Button; import com.android.internal.annotations.VisibleForTesting; @@ -179,6 +181,15 @@ public class SmartReplyView extends ViewGroup { mKeyguardDismissUtil.dismissKeyguardThenExecute( action, null /* cancelAction */, false /* afterKeyguardGone */); }); + + b.setAccessibilityDelegate(new AccessibilityDelegate() { + public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) { + super.onInitializeAccessibilityNodeInfo(host, info); + String label = getResources().getString(R.string.accessibility_send_smart_reply); + info.addAction(new AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, label)); + } + }); + return b; }