* commit '012b4eae10216648b2cff082e2c7809a1b0489a7': Optimize text rendering in accessibility mode.
This commit is contained in:
@@ -8517,6 +8517,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;
|
||||
@@ -8542,6 +8543,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);
|
||||
}
|
||||
@@ -9031,10 +9037,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