Merge "Optimize text rendering in accessibility mode." into lmp-mr1-dev
This commit is contained in:
@@ -8518,6 +8518,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
||||
} return false;
|
||||
case AccessibilityNodeInfo.ACTION_SET_SELECTION: {
|
||||
if (isFocused() && canSelectText()) {
|
||||
ensureIterableTextForAccessibilitySelectable();
|
||||
CharSequence text = getIterableTextForAccessibility();
|
||||
if (text == null) {
|
||||
return false;
|
||||
@@ -8543,6 +8544,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
||||
}
|
||||
}
|
||||
} return false;
|
||||
case AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY:
|
||||
case AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: {
|
||||
ensureIterableTextForAccessibilitySelectable();
|
||||
return super.performAccessibilityAction(action, arguments);
|
||||
}
|
||||
default: {
|
||||
return super.performAccessibilityAction(action, arguments);
|
||||
}
|
||||
@@ -9032,10 +9038,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
||||
*/
|
||||
@Override
|
||||
public CharSequence getIterableTextForAccessibility() {
|
||||
return mText;
|
||||
}
|
||||
|
||||
private void ensureIterableTextForAccessibilitySelectable() {
|
||||
if (!(mText instanceof Spannable)) {
|
||||
setText(mText, BufferType.SPANNABLE);
|
||||
}
|
||||
return mText;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user