aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-02-02 14:51:25 +0900
committerJean Chalard <jchalard@google.com>2012-02-02 15:15:55 +0900
commit51fd1632f59bd9aaeb5c98ff031f1618e8c31c59 (patch)
tree008c72696829bd51e4c5d23505a149b0a2a755a1 /java
parentc603409f28286c8c3aae58627e6813f3e8b6a2e4 (diff)
downloadlatinime-51fd1632f59bd9aaeb5c98ff031f1618e8c31c59.tar.gz
latinime-51fd1632f59bd9aaeb5c98ff031f1618e8c31c59.tar.xz
latinime-51fd1632f59bd9aaeb5c98ff031f1618e8c31c59.zip
Stop throwing an exception in some corner cases.
When the application is modifying the text under our feet, we may come through this code path. We should log the error rather than crash. Bug: 5869235 Change-Id: Ic0fd24c3bc805d44c5db0ad781ddebeca0450614
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 19cd16ad2..1bc55a583 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -872,13 +872,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// turn this flag on in succession and both onUpdateSelection() calls arrive after
// the second one - the first call successfully avoids this test, but the second one
// enters. For the moment we rely on candidatesCleared to further reduce the impact.
- if (SPACE_STATE_WEAK == mSpaceState) {
- // Test for no WEAK_SPACE action because there is a race condition that may end up
- // in coming here on a normal key press. We set this to NONE because after
- // a cursor move, we don't want the suggestion strip to swap the space with the
- // newly inserted punctuation.
- mSpaceState = SPACE_STATE_NONE;
- }
+
+ // We set this to NONE because after a cursor move, we don't want the space
+ // state-related special processing to kick in.
+ mSpaceState = SPACE_STATE_NONE;
+
if (((mWordComposer.isComposingWord())
|| mVoiceProxy.isVoiceInputHighlighted())
&& (selectionChanged || candidatesCleared)) {
@@ -2221,9 +2219,12 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// be needed, but it's there just in case something went wrong.
final CharSequence textBeforeCursor = ic.getTextBeforeCursor(2, 0);
if (!". ".equals(textBeforeCursor)) {
- // We should not have come here if we aren't just after a ". ".
- throw new RuntimeException("Tried to revert double-space combo but we didn't find "
+ // Theoretically we should not be coming here if there isn't ". " before the
+ // cursor, but the application may be changing the text while we are typing, so
+ // anything goes. We should not crash.
+ Log.d(TAG, "Tried to revert double-space combo but we didn't find "
+ "\". \" just before the cursor.");
+ return false;
}
ic.beginBatchEdit();
ic.deleteSurroundingText(2, 0);