diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-22 14:31:21 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-22 14:31:21 -0700 |
commit | e146d824785078fed578f88b11ff47a7390d27c5 (patch) | |
tree | 5f21d01b82a84f027295792af801cf8bc9ddf3b4 /core | |
parent | 72be40490951d3f9d0ada16fcf5288d0c3306d88 (diff) | |
parent | a465a170ce5d7155580fd308d1e50092365117e4 (diff) | |
download | frameworks_base-e146d824785078fed578f88b11ff47a7390d27c5.zip frameworks_base-e146d824785078fed578f88b11ff47a7390d27c5.tar.gz frameworks_base-e146d824785078fed578f88b11ff47a7390d27c5.tar.bz2 |
Merge change 4965 into donut
* changes:
Fix bugs 1827027, 1808979, 1820700.
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/inputmethod/BaseInputConnection.java | 16 | ||||
-rw-r--r-- | core/java/android/widget/TextView.java | 7 |
2 files changed, 17 insertions, 6 deletions
diff --git a/core/java/android/view/inputmethod/BaseInputConnection.java b/core/java/android/view/inputmethod/BaseInputConnection.java index 11de3e2..9a0f467 100644 --- a/core/java/android/view/inputmethod/BaseInputConnection.java +++ b/core/java/android/view/inputmethod/BaseInputConnection.java @@ -297,6 +297,10 @@ public class BaseInputConnection implements InputConnection { b = tmp; } + if (a <= 0) { + return ""; + } + if (length > a) { length = a; } @@ -488,12 +492,12 @@ public class BaseInputConnection implements InputConnection { } else { a = Selection.getSelectionStart(content); b = Selection.getSelectionEnd(content); - if (a >=0 && b>= 0 && a != b) { - if (b < a) { - int tmp = a; - a = b; - b = tmp; - } + if (a < 0) a = 0; + if (b < 0) b = 0; + if (b < a) { + int tmp = a; + a = b; + b = tmp; } } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 1678f9a..9479f9e 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -6469,6 +6469,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener protected void onReceiveResult(int resultCode, Bundle resultData) { if (resultCode != InputMethodManager.RESULT_SHOWN) { + final int len = mText.length(); + if (mNewStart > len) { + mNewStart = len; + } + if (mNewEnd > len) { + mNewEnd = len; + } Selection.setSelection((Spannable)mText, mNewStart, mNewEnd); } } |