Tighten conditions for space-related cancelling
Instead of ignoring silently a found bug, throw an exception. Change-Id: I0aa96d0cab022b6a5e7cffe8a592dcc443c3c7a8
This commit is contained in:
parent
0a2494fa58
commit
8ad4013406
1 changed files with 10 additions and 4 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue