Loading java/src/com/android/inputmethod/latin/LastComposedWord.java +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ public class LastComposedWord { public static final LastComposedWord NOT_A_COMPOSED_WORD = new LastComposedWord(null, null, null, "", ""); // Warning: this is using the passed objects as is and fully expects them to be // immutable. Do not fiddle with their contents after you passed them to this constructor. public LastComposedWord(final ArrayList<int[]> codes, final int[] xCoordinates, final int[] yCoordinates, final String typedWord, final String autoCorrection) { mCodes = codes; Loading java/src/com/android/inputmethod/latin/LatinIME.java +2 −5 Original line number Diff line number Diff line Loading @@ -2201,9 +2201,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // new composing text. final int restartLength = mWordComposer.size(); if (DEBUG) { final String wordBeforeCursor = ic.getTextBeforeCursor(restartLength + 1, 0).subSequence(0, restartLength) .toString(); final String wordBeforeCursor = ic.getTextBeforeCursor(restartLength, 0).toString(); if (!TextUtils.equals(mWordComposer.getTypedWord(), wordBeforeCursor)) { throw new RuntimeException("restartSuggestionsOnManuallyPickedTypedWord " + "check failed: we thought we were reverting \"" Loading @@ -2212,8 +2210,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar + wordBeforeCursor + "\""); } } // Warning: this +1 takes into account the extra space added by the manual pick process. ic.deleteSurroundingText(restartLength + 1, 0); ic.deleteSurroundingText(restartLength, 0); ic.setComposingText(mWordComposer.getTypedWord(), 1); mHandler.cancelUpdateBigramPredictions(); mHandler.postUpdateSuggestions(); Loading java/src/com/android/inputmethod/latin/WordComposer.java +8 −3 Original line number Diff line number Diff line Loading @@ -310,13 +310,18 @@ public class WordComposer { // LastComposedWord#didAutoCorrectToAnotherWord with #equals(). It would be marginally // cleaner to do it here, but it would be slower (since we would #equals() for each commit, // instead of only on cancel), and ultimately we want to figure it out even earlier anyway. final LastComposedWord lastComposedWord = new LastComposedWord(mCodes, mXCoordinates, mYCoordinates, mTypedWord.toString(), final ArrayList<int[]> codes = mCodes; final int[] xCoordinates = mXCoordinates; final int[] yCoordinates = mYCoordinates; mCodes = new ArrayList<int[]>(N); mXCoordinates = new int[N]; mYCoordinates = new int[N]; final LastComposedWord lastComposedWord = new LastComposedWord(codes, xCoordinates, yCoordinates, mTypedWord.toString(), null == mAutoCorrection ? null : mAutoCorrection.toString()); if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD) { lastComposedWord.deactivate(); } mCodes.clear(); mTypedWord.setLength(0); mAutoCorrection = null; return lastComposedWord; Loading Loading
java/src/com/android/inputmethod/latin/LastComposedWord.java +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ public class LastComposedWord { public static final LastComposedWord NOT_A_COMPOSED_WORD = new LastComposedWord(null, null, null, "", ""); // Warning: this is using the passed objects as is and fully expects them to be // immutable. Do not fiddle with their contents after you passed them to this constructor. public LastComposedWord(final ArrayList<int[]> codes, final int[] xCoordinates, final int[] yCoordinates, final String typedWord, final String autoCorrection) { mCodes = codes; Loading
java/src/com/android/inputmethod/latin/LatinIME.java +2 −5 Original line number Diff line number Diff line Loading @@ -2201,9 +2201,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // new composing text. final int restartLength = mWordComposer.size(); if (DEBUG) { final String wordBeforeCursor = ic.getTextBeforeCursor(restartLength + 1, 0).subSequence(0, restartLength) .toString(); final String wordBeforeCursor = ic.getTextBeforeCursor(restartLength, 0).toString(); if (!TextUtils.equals(mWordComposer.getTypedWord(), wordBeforeCursor)) { throw new RuntimeException("restartSuggestionsOnManuallyPickedTypedWord " + "check failed: we thought we were reverting \"" Loading @@ -2212,8 +2210,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar + wordBeforeCursor + "\""); } } // Warning: this +1 takes into account the extra space added by the manual pick process. ic.deleteSurroundingText(restartLength + 1, 0); ic.deleteSurroundingText(restartLength, 0); ic.setComposingText(mWordComposer.getTypedWord(), 1); mHandler.cancelUpdateBigramPredictions(); mHandler.postUpdateSuggestions(); Loading
java/src/com/android/inputmethod/latin/WordComposer.java +8 −3 Original line number Diff line number Diff line Loading @@ -310,13 +310,18 @@ public class WordComposer { // LastComposedWord#didAutoCorrectToAnotherWord with #equals(). It would be marginally // cleaner to do it here, but it would be slower (since we would #equals() for each commit, // instead of only on cancel), and ultimately we want to figure it out even earlier anyway. final LastComposedWord lastComposedWord = new LastComposedWord(mCodes, mXCoordinates, mYCoordinates, mTypedWord.toString(), final ArrayList<int[]> codes = mCodes; final int[] xCoordinates = mXCoordinates; final int[] yCoordinates = mYCoordinates; mCodes = new ArrayList<int[]>(N); mXCoordinates = new int[N]; mYCoordinates = new int[N]; final LastComposedWord lastComposedWord = new LastComposedWord(codes, xCoordinates, yCoordinates, mTypedWord.toString(), null == mAutoCorrection ? null : mAutoCorrection.toString()); if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD) { lastComposedWord.deactivate(); } mCodes.clear(); mTypedWord.setLength(0); mAutoCorrection = null; return lastComposedWord; Loading