diff options
| author | yingleiw <yingleiw@google.com> | 2019-07-24 13:51:13 -0700 |
|---|---|---|
| committer | yingleiw <yingleiw@google.com> | 2019-07-24 15:56:20 -0700 |
| commit | 929f612c063a6bbee0f25da0aff073ece1b7fa28 (patch) | |
| tree | b908c4abd404eb476d1591c6f0109c3312c8bf97 /core/java/android/widget/NumberPicker.java | |
| parent | 8413b67587b1dbfce97cedaac0ead368b85c5bd6 (diff) | |
add directional scroll for accessibility action in NumberPicker
Test: Twisted talkback code to perform scroll down when scroll forward
is called. Verfied that scroll down is successfully performed in the
framework code and the number picker behaves correctly. Also verifed the
scroll up/down actions are correctly added to AccessibilityNodeInfo.
Bug: 136277517
Change-Id: I540d2ed3bf4e6b733668853182bd38faa8545997
Diffstat (limited to 'core/java/android/widget/NumberPicker.java')
| -rw-r--r-- | core/java/android/widget/NumberPicker.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java index efd5daf0b455..cb2683a7fbd0 100644 --- a/core/java/android/widget/NumberPicker.java +++ b/core/java/android/widget/NumberPicker.java @@ -2556,14 +2556,16 @@ public class NumberPicker extends LinearLayout { } return false; } - case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: { + case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: + case R.id.accessibilityActionScrollDown: { if (NumberPicker.this.isEnabled() && (getWrapSelectorWheel() || getValue() < getMaxValue())) { changeValueByOne(true); return true; } } return false; - case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: { + case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: + case R.id.accessibilityActionScrollUp: { if (NumberPicker.this.isEnabled() && (getWrapSelectorWheel() || getValue() > getMinValue())) { changeValueByOne(false); @@ -2865,10 +2867,13 @@ public class NumberPicker extends LinearLayout { } if (NumberPicker.this.isEnabled()) { if (getWrapSelectorWheel() || getValue() < getMaxValue()) { - info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_DOWN); } if (getWrapSelectorWheel() || getValue() > getMinValue()) { - info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD); + info.addAction( + AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_UP); } } |
