Tighten conditions for space-related cancelling

Instead of ignoring silently a found bug, throw an exception.

Change-Id: I0aa96d0cab022b6a5e7cffe8a592dcc443c3c7a8
This commit is contained in:
Jean Chalard 2011-12-13 17:40:06 +09:00
parent 0a2494fa58
commit 8ad4013406

View file

@ -2226,8 +2226,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// Here we test whether we indeed have a period and a space before us. This should not // Here we test whether we indeed have a period and a space before us. This should not
// be needed, but it's there just in case something went wrong. // be needed, but it's there just in case something went wrong.
final CharSequence textBeforeCursor = ic.getTextBeforeCursor(2, 0); final CharSequence textBeforeCursor = ic.getTextBeforeCursor(2, 0);
if (!". ".equals(textBeforeCursor)) if (!". ".equals(textBeforeCursor)) {
return false; // 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 "
+ "\". \" just before the cursor.");
}
ic.beginBatchEdit(); ic.beginBatchEdit();
ic.deleteSurroundingText(2, 0); ic.deleteSurroundingText(2, 0);
ic.commitText(" ", 1); ic.commitText(" ", 1);
@ -2241,8 +2244,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final CharSequence textBeforeCursor = ic.getTextBeforeCursor(2, 0); final CharSequence textBeforeCursor = ic.getTextBeforeCursor(2, 0);
// NOTE: This does not work with surrogate pairs. Hopefully when the keyboard is able to // NOTE: This does not work with surrogate pairs. Hopefully when the keyboard is able to
// enter surrogate pairs this code will have been removed. // enter surrogate pairs this code will have been removed.
if (Keyboard.CODE_SPACE != textBeforeCursor.charAt(1)) if (Keyboard.CODE_SPACE != textBeforeCursor.charAt(1)) {
return false; // We should not have come here if the text before the cursor is not a space.
throw new RuntimeException("Tried to revert a swap of punctiation but we didn't "
+ "find a space just before the cursor.");
}
ic.beginBatchEdit(); ic.beginBatchEdit();
ic.deleteSurroundingText(2, 0); ic.deleteSurroundingText(2, 0);
ic.commitText(" " + textBeforeCursor.subSequence(0, 1), 1); ic.commitText(" " + textBeforeCursor.subSequence(0, 1), 1);