Loading java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java +6 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import com.android.inputmethod.latin.RichInputMethodManager; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.settings.SettingsValues; import javax.annotation.Nullable; public final class StatsUtils { private StatsUtils() { Loading Loading @@ -63,4 +65,8 @@ public final class StatsUtils { public static void onStartInputView(int inputType, int displayOrientation, boolean restarting) { } public static void onAutoCorrection(final String typedWord, final String autoCorrectionWord, final boolean isBatchInput, @Nullable final String dictionaryType) { } } java/src/com/android/inputmethod/latin/WordComposer.java +10 −1 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ public final class WordComposer { private final ArrayList<Event> mEvents; private final InputPointers mInputPointers = new InputPointers(MAX_WORD_LENGTH); private String mAutoCorrection; private String mAutoCorrectionDictionaryType; private boolean mIsResumed; private boolean mIsBatchMode; // A memory of the last rejected batch mode suggestion, if any. This goes like this: the user Loading Loading @@ -418,8 +419,9 @@ public final class WordComposer { /** * Sets the auto-correction for this word. */ public void setAutoCorrection(final String correction) { public void setAutoCorrection(final String correction, String dictType) { mAutoCorrection = correction; mAutoCorrectionDictionaryType = dictType; } /** Loading @@ -429,6 +431,13 @@ public final class WordComposer { return mAutoCorrection; } /** * @return the auto-correction dictionary type or null if none. */ public String getAutoCorrectionDictionaryTypeOrNull() { return mAutoCorrectionDictionaryType; } /** * @return whether we started composing this word by resuming suggestion on an existing string */ Loading java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +11 −2 Original line number Diff line number Diff line Loading @@ -612,14 +612,21 @@ public final class InputLogic { final SettingsValues settingsValues, final LatinIME.UIHandler handler) { if (SuggestedWords.EMPTY != suggestedWords) { final String autoCorrection; final String dictType; if (suggestedWords.mWillAutoCorrect) { autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_AUTO_CORRECTION); SuggestedWordInfo info = suggestedWords.getInfo( SuggestedWords.INDEX_OF_AUTO_CORRECTION); autoCorrection = info.mWord; dictType = info.mSourceDict.mDictType; } else { // We can't use suggestedWords.getWord(SuggestedWords.INDEX_OF_TYPED_WORD) // because it may differ from mWordComposer.mTypedWord. autoCorrection = suggestedWords.mTypedWord; dictType = Dictionary.TYPE_USER_TYPED; } mWordComposer.setAutoCorrection(autoCorrection); // TODO: Use the SuggestedWordInfo to set the auto correction when // user typed word is available via SuggestedWordInfo. mWordComposer.setAutoCorrection(autoCorrection, dictType); } mSuggestedWords = suggestedWords; final boolean newAutoCorrectionIndicator = suggestedWords.mWillAutoCorrect; Loading Loading @@ -2100,6 +2107,8 @@ public final class InputLogic { mConnection.commitCorrection(new CorrectionInfo( mConnection.getExpectedSelectionEnd() - autoCorrection.length(), typedWord, autoCorrection)); StatsUtils.onAutoCorrection(typedWord, autoCorrection, mWordComposer.isBatchMode(), mWordComposer.getAutoCorrectionDictionaryTypeOrNull()); } } } Loading Loading
java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java +6 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import com.android.inputmethod.latin.RichInputMethodManager; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.settings.SettingsValues; import javax.annotation.Nullable; public final class StatsUtils { private StatsUtils() { Loading Loading @@ -63,4 +65,8 @@ public final class StatsUtils { public static void onStartInputView(int inputType, int displayOrientation, boolean restarting) { } public static void onAutoCorrection(final String typedWord, final String autoCorrectionWord, final boolean isBatchInput, @Nullable final String dictionaryType) { } }
java/src/com/android/inputmethod/latin/WordComposer.java +10 −1 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ public final class WordComposer { private final ArrayList<Event> mEvents; private final InputPointers mInputPointers = new InputPointers(MAX_WORD_LENGTH); private String mAutoCorrection; private String mAutoCorrectionDictionaryType; private boolean mIsResumed; private boolean mIsBatchMode; // A memory of the last rejected batch mode suggestion, if any. This goes like this: the user Loading Loading @@ -418,8 +419,9 @@ public final class WordComposer { /** * Sets the auto-correction for this word. */ public void setAutoCorrection(final String correction) { public void setAutoCorrection(final String correction, String dictType) { mAutoCorrection = correction; mAutoCorrectionDictionaryType = dictType; } /** Loading @@ -429,6 +431,13 @@ public final class WordComposer { return mAutoCorrection; } /** * @return the auto-correction dictionary type or null if none. */ public String getAutoCorrectionDictionaryTypeOrNull() { return mAutoCorrectionDictionaryType; } /** * @return whether we started composing this word by resuming suggestion on an existing string */ Loading
java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +11 −2 Original line number Diff line number Diff line Loading @@ -612,14 +612,21 @@ public final class InputLogic { final SettingsValues settingsValues, final LatinIME.UIHandler handler) { if (SuggestedWords.EMPTY != suggestedWords) { final String autoCorrection; final String dictType; if (suggestedWords.mWillAutoCorrect) { autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_AUTO_CORRECTION); SuggestedWordInfo info = suggestedWords.getInfo( SuggestedWords.INDEX_OF_AUTO_CORRECTION); autoCorrection = info.mWord; dictType = info.mSourceDict.mDictType; } else { // We can't use suggestedWords.getWord(SuggestedWords.INDEX_OF_TYPED_WORD) // because it may differ from mWordComposer.mTypedWord. autoCorrection = suggestedWords.mTypedWord; dictType = Dictionary.TYPE_USER_TYPED; } mWordComposer.setAutoCorrection(autoCorrection); // TODO: Use the SuggestedWordInfo to set the auto correction when // user typed word is available via SuggestedWordInfo. mWordComposer.setAutoCorrection(autoCorrection, dictType); } mSuggestedWords = suggestedWords; final boolean newAutoCorrectionIndicator = suggestedWords.mWillAutoCorrect; Loading Loading @@ -2100,6 +2107,8 @@ public final class InputLogic { mConnection.commitCorrection(new CorrectionInfo( mConnection.getExpectedSelectionEnd() - autoCorrection.length(), typedWord, autoCorrection)); StatsUtils.onAutoCorrection(typedWord, autoCorrection, mWordComposer.isBatchMode(), mWordComposer.getAutoCorrectionDictionaryTypeOrNull()); } } } Loading