Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90aaa2d0 authored by Kurt Partridge's avatar Kurt Partridge
Browse files

[Rlog59a] Split logUnits correctly around separators

Change-Id: I65ecdead7e7bdeb8a5f1748e27068ddbd5d3ce00
parent 75e69753
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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()) {
+13 −1
Original line number Diff line number Diff line
@@ -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.
     *