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)) { if (!mFrozenWithFocus || (selStart < 0 || selEnd < 0)) {
// Has to be done before onTakeFocus, which can be overloaded. // Has to be done before onTakeFocus, which can be overloaded.
if (mLastTouchOffset >= 0) { 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); 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. // ExtractEditText clears focus, which gives focus to the ExtractEditText.
// This special case ensure that we keep current selection in that case. // 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. // 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 * Someone intentionally set the selection, so let them
* do whatever it is that they wanted to do instead of * do whatever it is that they wanted to do instead of