Loading java/src/com/android/inputmethod/latin/LatinIME.java +10 −6 Original line number Diff line number Diff line Loading @@ -1495,12 +1495,19 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar private void handleCharacter(final int primaryCode, final int[] keyCodes, final int x, final int y, final int spaceState) { mVoiceProxy.handleCharacter(); final InputConnection ic = getCurrentInputConnection(); if (ic != null) ic.beginBatchEdit(); if (null != ic) ic.beginBatchEdit(); // TODO: if ic is null, does it make any sense to call this? handleCharacterWhileInBatchEdit(primaryCode, keyCodes, x, y, spaceState, ic); if (null != ic) ic.endBatchEdit(); } // "ic" may be null without this crashing, but the behavior will be really strange private void handleCharacterWhileInBatchEdit(final int primaryCode, final int[] keyCodes, final int x, final int y, final int spaceState, final InputConnection ic) { if (SPACE_STATE_MAGIC == spaceState && mSettingsValues.isMagicSpaceStripper(primaryCode)) { removeTrailingSpaceWhileInBatchEdit(ic); if (null != ic) removeTrailingSpaceWhileInBatchEdit(ic); } int code = primaryCode; Loading @@ -1519,7 +1526,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar if (switcher.isShiftedOrShiftLocked()) { if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT || keyCodes[0] > Character.MAX_CODE_POINT) { if (null != ic) ic.endBatchEdit(); return; } code = keyCodes[0]; Loading @@ -1533,7 +1539,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } else { // Some keys, such as [eszett], have upper case as multi-characters. onTextInput(upperCaseString); if (null != ic) ic.endBatchEdit(); return; } } Loading Loading @@ -1563,7 +1568,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } else { Utils.Stats.onNonSeparator((char)code, x, y); } if (null != ic) ic.endBatchEdit(); } private void handleSeparator(final int primaryCode, final int x, final int y, Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +10 −6 Original line number Diff line number Diff line Loading @@ -1495,12 +1495,19 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar private void handleCharacter(final int primaryCode, final int[] keyCodes, final int x, final int y, final int spaceState) { mVoiceProxy.handleCharacter(); final InputConnection ic = getCurrentInputConnection(); if (ic != null) ic.beginBatchEdit(); if (null != ic) ic.beginBatchEdit(); // TODO: if ic is null, does it make any sense to call this? handleCharacterWhileInBatchEdit(primaryCode, keyCodes, x, y, spaceState, ic); if (null != ic) ic.endBatchEdit(); } // "ic" may be null without this crashing, but the behavior will be really strange private void handleCharacterWhileInBatchEdit(final int primaryCode, final int[] keyCodes, final int x, final int y, final int spaceState, final InputConnection ic) { if (SPACE_STATE_MAGIC == spaceState && mSettingsValues.isMagicSpaceStripper(primaryCode)) { removeTrailingSpaceWhileInBatchEdit(ic); if (null != ic) removeTrailingSpaceWhileInBatchEdit(ic); } int code = primaryCode; Loading @@ -1519,7 +1526,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar if (switcher.isShiftedOrShiftLocked()) { if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT || keyCodes[0] > Character.MAX_CODE_POINT) { if (null != ic) ic.endBatchEdit(); return; } code = keyCodes[0]; Loading @@ -1533,7 +1539,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } else { // Some keys, such as [eszett], have upper case as multi-characters. onTextInput(upperCaseString); if (null != ic) ic.endBatchEdit(); return; } } Loading Loading @@ -1563,7 +1568,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } else { Utils.Stats.onNonSeparator((char)code, x, y); } if (null != ic) ic.endBatchEdit(); } private void handleSeparator(final int primaryCode, final int x, final int y, Loading