Merge "Support SET_TEXT for editable text views." into nyc-dev
This commit is contained in:
@@ -155,6 +155,9 @@ public class EditText extends TextView {
|
|||||||
public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
|
public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case AccessibilityNodeInfo.ACTION_SET_TEXT: {
|
case AccessibilityNodeInfo.ACTION_SET_TEXT: {
|
||||||
|
if (!isEnabled()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
CharSequence text = (arguments != null) ? arguments.getCharSequence(
|
CharSequence text = (arguments != null) ? arguments.getCharSequence(
|
||||||
AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE) : null;
|
AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE) : null;
|
||||||
setText(text);
|
setText(text);
|
||||||
|
|||||||
@@ -9094,6 +9094,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
|||||||
|
|
||||||
if (mBufferType == BufferType.EDITABLE) {
|
if (mBufferType == BufferType.EDITABLE) {
|
||||||
info.setEditable(true);
|
info.setEditable(true);
|
||||||
|
if (isEnabled()) {
|
||||||
|
info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_TEXT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mEditor != null) {
|
if (mEditor != null) {
|
||||||
@@ -9225,6 +9228,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} return false;
|
} 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: {
|
default: {
|
||||||
return super.performAccessibilityActionInternal(action, arguments);
|
return super.performAccessibilityActionInternal(action, arguments);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user