Loading java/src/com/android/inputmethod/latin/LatinIME.java +17 −2 Original line number Diff line number Diff line Loading @@ -1431,6 +1431,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // TODO: Merge space state with TextEntryState TextEntryState.backspace(); if (null != mWordSavedForAutoCorrectCancellation) { Utils.Stats.onAutoCorrectionCancellation(); cancelAutoCorrect(ic); mWordSavedForAutoCorrectCancellation = null; ic.endBatchEdit(); Loading Loading @@ -1574,7 +1575,13 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } switcher.updateShiftState(); TextEntryState.typedCharacter((char) code, mSettingsValues.isWordSeparator(code), x, y); if (mSettingsValues.isWordSeparator(code)) { TextEntryState.typedCharacter((char) code, true, x, y); Utils.Stats.onSeparator((char)code, x, y); } else { TextEntryState.typedCharacter((char) code, false, x, y); Utils.Stats.onNonSeparator((char)code, x, y); } if (null != ic) ic.endBatchEdit(); } Loading Loading @@ -1657,6 +1664,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } TextEntryState.typedCharacter((char) primaryCode, true, x, y); Utils.Stats.onSeparator((char)primaryCode, x, y); if (pickedDefault) { CharSequence typedWord = mWordComposer.getTypedWord(); Loading Loading @@ -1868,7 +1876,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar updateSuggestions(); } if (mBestWord != null && mBestWord.length() > 0) { TextEntryState.acceptedDefault(mWordComposer.getTypedWord(), mBestWord, separatorCode); Utils.Stats.onAutoCorrection(mWordComposer.getTypedWord(), mBestWord.toString(), separatorCode); TextEntryState.acceptedDefault(mWordComposer.getTypedWord(), mBestWord, separatorCode); mExpectingUpdateSelection = true; commitBestWord(mBestWord); if (!mBestWord.equals(mWordComposer.getTypedWord())) { Loading Loading @@ -1976,6 +1987,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // TextEntryState.State.PICKED_SUGGESTION state. TextEntryState.typedCharacter((char) Keyboard.CODE_SPACE, true, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); Utils.Stats.onSeparator((char)Keyboard.CODE_SPACE, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); if (!showingAddToDictionaryHint) { // If we're not showing the "Touch again to save", then show corrections again. // In case the cursor position doesn't change, make sure we show the suggestions again. Loading Loading @@ -2195,6 +2208,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar ic.commitText(separator, 1); TextEntryState.typedCharacter(separator.charAt(0), true, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); Utils.Stats.onSeparator(separator.charAt(0), WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); mHandler.cancelUpdateBigramPredictions(); mHandler.postUpdateSuggestions(); } Loading java/src/com/android/inputmethod/latin/TextEntryState.java +0 −10 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.inputmethod.latin; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.latin.Utils.RingCharBuffer; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -48,8 +47,6 @@ public class TextEntryState { int separatorCode) { if (TextUtils.isEmpty(typedWord)) return; setState(ACCEPTED_DEFAULT); LatinImeLogger.logOnAutoCorrection( typedWord.toString(), actualWord.toString(), separatorCode); if (DEBUG) displayState("acceptedDefault", "typedWord", typedWord, "actualWord", actualWord); } Loading Loading @@ -131,19 +128,12 @@ public class TextEntryState { } break; } RingCharBuffer.getInstance().push(c, x, y); if (isSeparator) { LatinImeLogger.logOnInputSeparator(); } else { LatinImeLogger.logOnInputChar(); } if (DEBUG) displayState("typedCharacter", "char", c, "isSeparator", isSeparator); } public static void backspace() { if (sState == ACCEPTED_DEFAULT) { setState(UNDO_COMMIT); LatinImeLogger.logOnAutoCorrectionCancelled(); } else if (sState == UNDO_COMMIT) { setState(IN_WORD); } Loading java/src/com/android/inputmethod/latin/Utils.java +24 −0 Original line number Diff line number Diff line Loading @@ -843,4 +843,28 @@ public class Utils { return !suggestions.mTypedWordValid && suggestions.mHasAutoCorrectionCandidate && !suggestions.shouldBlockAutoCorrection(); } public static class Stats { public static void onNonSeparator(final char code, final int x, final int y) { RingCharBuffer.getInstance().push(code, x, y); LatinImeLogger.logOnInputChar(); } public static void onSeparator(final char code, final int x, final int y) { RingCharBuffer.getInstance().push(code, x, y); LatinImeLogger.logOnInputSeparator(); } public static void onAutoCorrection(final String typedWord, final String correctedWord, final int separatorCode) { if (TextUtils.isEmpty(typedWord)) return; LatinImeLogger.logOnAutoCorrection(typedWord, correctedWord, separatorCode); } public static void onAutoCorrectionCancellation() { LatinImeLogger.logOnAutoCorrectionCancelled(); } } } Loading
java/src/com/android/inputmethod/latin/LatinIME.java +17 −2 Original line number Diff line number Diff line Loading @@ -1431,6 +1431,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // TODO: Merge space state with TextEntryState TextEntryState.backspace(); if (null != mWordSavedForAutoCorrectCancellation) { Utils.Stats.onAutoCorrectionCancellation(); cancelAutoCorrect(ic); mWordSavedForAutoCorrectCancellation = null; ic.endBatchEdit(); Loading Loading @@ -1574,7 +1575,13 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } switcher.updateShiftState(); TextEntryState.typedCharacter((char) code, mSettingsValues.isWordSeparator(code), x, y); if (mSettingsValues.isWordSeparator(code)) { TextEntryState.typedCharacter((char) code, true, x, y); Utils.Stats.onSeparator((char)code, x, y); } else { TextEntryState.typedCharacter((char) code, false, x, y); Utils.Stats.onNonSeparator((char)code, x, y); } if (null != ic) ic.endBatchEdit(); } Loading Loading @@ -1657,6 +1664,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } TextEntryState.typedCharacter((char) primaryCode, true, x, y); Utils.Stats.onSeparator((char)primaryCode, x, y); if (pickedDefault) { CharSequence typedWord = mWordComposer.getTypedWord(); Loading Loading @@ -1868,7 +1876,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar updateSuggestions(); } if (mBestWord != null && mBestWord.length() > 0) { TextEntryState.acceptedDefault(mWordComposer.getTypedWord(), mBestWord, separatorCode); Utils.Stats.onAutoCorrection(mWordComposer.getTypedWord(), mBestWord.toString(), separatorCode); TextEntryState.acceptedDefault(mWordComposer.getTypedWord(), mBestWord, separatorCode); mExpectingUpdateSelection = true; commitBestWord(mBestWord); if (!mBestWord.equals(mWordComposer.getTypedWord())) { Loading Loading @@ -1976,6 +1987,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // TextEntryState.State.PICKED_SUGGESTION state. TextEntryState.typedCharacter((char) Keyboard.CODE_SPACE, true, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); Utils.Stats.onSeparator((char)Keyboard.CODE_SPACE, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); if (!showingAddToDictionaryHint) { // If we're not showing the "Touch again to save", then show corrections again. // In case the cursor position doesn't change, make sure we show the suggestions again. Loading Loading @@ -2195,6 +2208,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar ic.commitText(separator, 1); TextEntryState.typedCharacter(separator.charAt(0), true, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); Utils.Stats.onSeparator(separator.charAt(0), WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); mHandler.cancelUpdateBigramPredictions(); mHandler.postUpdateSuggestions(); } Loading
java/src/com/android/inputmethod/latin/TextEntryState.java +0 −10 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.inputmethod.latin; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.latin.Utils.RingCharBuffer; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -48,8 +47,6 @@ public class TextEntryState { int separatorCode) { if (TextUtils.isEmpty(typedWord)) return; setState(ACCEPTED_DEFAULT); LatinImeLogger.logOnAutoCorrection( typedWord.toString(), actualWord.toString(), separatorCode); if (DEBUG) displayState("acceptedDefault", "typedWord", typedWord, "actualWord", actualWord); } Loading Loading @@ -131,19 +128,12 @@ public class TextEntryState { } break; } RingCharBuffer.getInstance().push(c, x, y); if (isSeparator) { LatinImeLogger.logOnInputSeparator(); } else { LatinImeLogger.logOnInputChar(); } if (DEBUG) displayState("typedCharacter", "char", c, "isSeparator", isSeparator); } public static void backspace() { if (sState == ACCEPTED_DEFAULT) { setState(UNDO_COMMIT); LatinImeLogger.logOnAutoCorrectionCancelled(); } else if (sState == UNDO_COMMIT) { setState(IN_WORD); } Loading
java/src/com/android/inputmethod/latin/Utils.java +24 −0 Original line number Diff line number Diff line Loading @@ -843,4 +843,28 @@ public class Utils { return !suggestions.mTypedWordValid && suggestions.mHasAutoCorrectionCandidate && !suggestions.shouldBlockAutoCorrection(); } public static class Stats { public static void onNonSeparator(final char code, final int x, final int y) { RingCharBuffer.getInstance().push(code, x, y); LatinImeLogger.logOnInputChar(); } public static void onSeparator(final char code, final int x, final int y) { RingCharBuffer.getInstance().push(code, x, y); LatinImeLogger.logOnInputSeparator(); } public static void onAutoCorrection(final String typedWord, final String correctedWord, final int separatorCode) { if (TextUtils.isEmpty(typedWord)) return; LatinImeLogger.logOnAutoCorrection(typedWord, correctedWord, separatorCode); } public static void onAutoCorrectionCancellation() { LatinImeLogger.logOnAutoCorrectionCancelled(); } } }