Text selection is broken.

Bug 3439569

Lazy initialization code was not back-ported.

Change-Id: I9815f649891e2ddc602383488749144686ab1dd3
This commit is contained in:
Gilles Debunne
2011-02-09 14:17:22 -08:00
parent ada1b6f297
commit 2050de5b9a

View File

@@ -6822,11 +6822,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
public boolean onTouchEvent(MotionEvent event) { public boolean onTouchEvent(MotionEvent event) {
final int action = event.getActionMasked(); final int action = event.getActionMasked();
if (mInsertionPointCursorController != null) { if (hasInsertionController()) {
mInsertionPointCursorController.onTouchEvent(event); getInsertionController().onTouchEvent(event);
} }
if (mSelectionModifierCursorController != null) { if (hasSelectionController()) {
mSelectionModifierCursorController.onTouchEvent(event); getSelectionController().onTouchEvent(event);
} }
if (action == MotionEvent.ACTION_DOWN) { if (action == MotionEvent.ACTION_DOWN) {
@@ -7324,9 +7324,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
minOffset = getSelectionStart(); minOffset = getSelectionStart();
maxOffset = getSelectionEnd(); maxOffset = getSelectionEnd();
} else { } else {
// selectionModifierCursorController is not null at that point // hasSelectionController is true since we canSelectText.
SelectionModifierCursorController selectionModifierCursorController = SelectionModifierCursorController selectionModifierCursorController =
((SelectionModifierCursorController) mSelectionModifierCursorController); (SelectionModifierCursorController) getSelectionController();
minOffset = selectionModifierCursorController.getMinTouchOffset(); minOffset = selectionModifierCursorController.getMinTouchOffset();
maxOffset = selectionModifierCursorController.getMaxTouchOffset(); maxOffset = selectionModifierCursorController.getMaxTouchOffset();
} }