Text selection is broken.
Bug 3439569
Lazy initialization code was not back-ported.
Change-Id: I9815f649891e2ddc602383488749144686ab1dd3
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 0afd5a0..05e9678c 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -6822,11 +6822,11 @@
public boolean onTouchEvent(MotionEvent event) {
final int action = event.getActionMasked();
- if (mInsertionPointCursorController != null) {
- mInsertionPointCursorController.onTouchEvent(event);
+ if (hasInsertionController()) {
+ getInsertionController().onTouchEvent(event);
}
- if (mSelectionModifierCursorController != null) {
- mSelectionModifierCursorController.onTouchEvent(event);
+ if (hasSelectionController()) {
+ getSelectionController().onTouchEvent(event);
}
if (action == MotionEvent.ACTION_DOWN) {
@@ -7324,9 +7324,9 @@
minOffset = getSelectionStart();
maxOffset = getSelectionEnd();
} else {
- // selectionModifierCursorController is not null at that point
+ // hasSelectionController is true since we canSelectText.
SelectionModifierCursorController selectionModifierCursorController =
- ((SelectionModifierCursorController) mSelectionModifierCursorController);
+ (SelectionModifierCursorController) getSelectionController();
minOffset = selectionModifierCursorController.getMinTouchOffset();
maxOffset = selectionModifierCursorController.getMaxTouchOffset();
}