diff options
author | 2013-01-10 14:16:47 -0800 | |
---|---|---|
committer | 2013-01-10 16:36:18 -0800 | |
commit | 90aaa2d0a59227e948aefc5fbc4c875dae006ccf (patch) | |
tree | 23de2cdf92f73fb00c5268f1a27fb494461c1ae2 /java/src | |
parent | 75e69753b709c19d5a23baf88ec3ac2576ee9c24 (diff) | |
download | latinime-90aaa2d0a59227e948aefc5fbc4c875dae006ccf.tar.gz latinime-90aaa2d0a59227e948aefc5fbc4c875dae006ccf.tar.xz latinime-90aaa2d0a59227e948aefc5fbc4c875dae006ccf.zip |
[Rlog59a] Split logUnits correctly around separators
Change-Id: I65ecdead7e7bdeb8a5f1748e27068ddbd5d3ce00
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 3 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/research/ResearchLogger.java | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 8c8a824d8..152118d98 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1843,6 +1843,9 @@ public final class LatinIME extends InputMethodService implements KeyboardAction // Returns true if we did an autocorrection, false otherwise. private boolean handleSeparator(final int primaryCode, final int x, final int y, final int spaceState) { + if (ProductionFlag.IS_EXPERIMENTAL) { + ResearchLogger.latinIME_handleSeparator(); + } boolean didAutoCorrect = false; // Handle separator if (mWordComposer.isComposingWord()) { diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java index 5c44af1f2..ff8067f53 100644 --- a/java/src/com/android/inputmethod/research/ResearchLogger.java +++ b/java/src/com/android/inputmethod/research/ResearchLogger.java @@ -838,6 +838,10 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang mCurrentLogUnit = newLogUnit; } + private void setSavedDownEventTime(final long time) { + mSavedDownEventTime = time; + } + public void onWordFinished(final String word, final boolean isBatchMode) { commitCurrentLogUnitAsWord(word, mSavedDownEventTime, isBatchMode); mSavedDownEventTime = Long.MAX_VALUE; @@ -987,7 +991,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang if (action == MotionEvent.ACTION_DOWN) { // Subtract 1 from eventTime so the down event is included in the later // LogUnit, not the earlier (the test is for inequality). - researchLogger.mSavedDownEventTime = eventTime - 1; + researchLogger.setSavedDownEventTime(eventTime - 1); } } } @@ -1627,6 +1631,14 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang researchLogger.mStatistics.recordGestureDelete(); } + public static void latinIME_handleSeparator() { + // Reset the saved down event time. For tapping, motion events, etc. before the separator + // are assigned to the previous LogUnit, and events after the separator are assigned to the + // next LogUnit. In the case of multitap, this might capture down events corresponding to + // the next word, however it should not be more than a character or two. + getInstance().setSavedDownEventTime(SystemClock.uptimeMillis()); + } + /** * Log statistics. * |