Fix for an IndentOutOfBounds in TextField.

Bug http://b/issue?id=2971995

Change-Id: Id6a40e81b26e14c1e5f06ed1bd70ee419c501c69
This commit is contained in:
Gilles Debunne
2010-09-07 18:50:07 -07:00
parent 87e215fd54
commit 47fa8e800c

View File

@@ -6499,6 +6499,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if (!mFrozenWithFocus || (selStart < 0 || selEnd < 0)) {
// Has to be done before onTakeFocus, which can be overloaded.
if (mLastTouchOffset >= 0) {
// Can happen when a TextView is displayed after its content has been deleted.
mLastTouchOffset = Math.min(mLastTouchOffset, mText.length());
Selection.setSelection((Spannable) mText, mLastTouchOffset);
}
@@ -6515,7 +6517,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
// ExtractEditText clears focus, which gives focus to the ExtractEditText.
// This special case ensure that we keep current selection in that case.
// It would be better to know why the DecorView does not have focus at that time.
if (((this instanceof ExtractEditText) || mSelectionMoved) && selStart >= 0 && selEnd >= 0) {
if (((this instanceof ExtractEditText) || mSelectionMoved) &&
selStart >= 0 && selEnd >= 0) {
/*
* Someone intentionally set the selection, so let them
* do whatever it is that they wanted to do instead of