diff options
| author | Phil Weaver <pweaver@google.com> | 2016-03-16 18:20:16 -0700 |
|---|---|---|
| committer | Phil Weaver <pweaver@google.com> | 2016-03-16 18:20:16 -0700 |
| commit | 44b3b91bf087f040678af756b60ea1e00ee4926f (patch) | |
| tree | 740d66c8e3bdde7aa92cd77a71a9c4c7da626e93 /core/java/android/widget/TextView.java | |
| parent | 36a20cdde3176f24279e2382f878cecdbecafa9d (diff) | |
Support SET_TEXT for editable text views.
Bug: 25486055
Change-Id: I38e5a65e216b7ea7da42a01040126b2c2cc8c661
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index fbedbdac9065..77c7691778e9 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -9101,6 +9101,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener if (mBufferType == BufferType.EDITABLE) { info.setEditable(true); + if (isEnabled()) { + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_TEXT); + } } if (mEditor != null) { @@ -9232,6 +9235,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } } return false; + case AccessibilityNodeInfo.ACTION_SET_TEXT: { + if (!isEnabled() || (mBufferType != BufferType.EDITABLE)) { + return false; + } + CharSequence text = (arguments != null) ? arguments.getCharSequence( + AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE) : null; + setText(text); + if (text != null && text.length() > 0) { + Selection.setSelection((Spannable) mText, text.length()); + } + } return true; default: { return super.performAccessibilityActionInternal(action, arguments); } |
