diff options
| author | Gilles Debunne <debunne@google.com> | 2011-05-31 10:41:58 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-05-31 10:41:58 -0700 |
| commit | da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb (patch) | |
| tree | 2e19772575ee8fad529077db606c8c759c11f258 /core/java/android | |
| parent | fe6dfd504bfa31d95382d80cc7acc5b1add01b34 (diff) | |
| parent | d4bb0b01c6caccbaef1baec377a59c10790da35c (diff) | |
| download | frameworks_base-da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb.zip frameworks_base-da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb.tar.gz frameworks_base-da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb.tar.bz2 | |
Merge "Fix for bug 4499752 - Detect nulled layouts in HandleViews"
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/text/method/WordIterator.java | 3 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/text/method/WordIterator.java b/core/java/android/text/method/WordIterator.java index b250414..af524ee 100644 --- a/core/java/android/text/method/WordIterator.java +++ b/core/java/android/text/method/WordIterator.java @@ -213,7 +213,8 @@ public class WordIterator implements Selection.PositionIterator { private void checkOffsetIsValid(int offset) { if (offset < 0 || offset > mCurrent.length()) { - final String message = "Valid range is [0, " + mCurrent.length() + "]"; + final String message = "Invalid offset: " + offset + + ". Valid range is [0, " + mCurrent.length() + "]"; throw new IllegalArgumentException(message); } } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a73a6cf..9ec3a26 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -9163,6 +9163,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener public abstract void updatePosition(float x, float y); protected void positionAtCursorOffset(int offset) { + // A HandleView relies on the layout, which may be nulled by external methods. + if (mLayout == null) { + // Will update controllers' state, hiding them and stopping selection mode if needed + prepareCursorControllers(); + return; + } + addPositionToTouchUpFilter(offset); final int line = mLayout.getLineForOffset(offset); final int lineBottom = mLayout.getLineBottom(line); |
