aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2011-12-12 02:20:49 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-12-12 02:20:49 -0800
commitf162ed7ec86be695fedd98e872d313f161fcdecd (patch)
treeecc0682ef9a3157aec59ddf7f1f34317c5628d20 /java/src
parent267cd0151f038d4d1654b9cbea5066d1927dd032 (diff)
parent406d192a9e8f07ed6c6a408650feb0a757ca388e (diff)
downloadlatinime-f162ed7ec86be695fedd98e872d313f161fcdecd.tar.gz
latinime-f162ed7ec86be695fedd98e872d313f161fcdecd.tar.xz
latinime-f162ed7ec86be695fedd98e872d313f161fcdecd.zip
Merge "Remove side-effects from TextEntryState"
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java19
-rw-r--r--java/src/com/android/inputmethod/latin/TextEntryState.java10
-rw-r--r--java/src/com/android/inputmethod/latin/Utils.java24
3 files changed, 41 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index b4ad2255c..711afdfdd 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -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();
@@ -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();
}
@@ -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();
@@ -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())) {
@@ -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.
@@ -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();
}
diff --git a/java/src/com/android/inputmethod/latin/TextEntryState.java b/java/src/com/android/inputmethod/latin/TextEntryState.java
index 6b44fc500..ebaecf7fd 100644
--- a/java/src/com/android/inputmethod/latin/TextEntryState.java
+++ b/java/src/com/android/inputmethod/latin/TextEntryState.java
@@ -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;
@@ -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);
}
@@ -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);
}
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index 75bc10cf3..de29e8f74 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -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();
+ }
+ }
}