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

Commit f1ce5489 authored by Kurt Partridge's avatar Kurt Partridge
Browse files

[Rlog7] ResearchLog improve gesture tracking

- count how many times a gesture is deleted
- count num chars entered by gesture
- change name of fns to reflect capturing gesture information when setting composing text

Change-Id: I1b8ebf9cfcf304e0efd827c8b8e28a4010199728
parent 58281a98
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1637,6 +1637,9 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
            if (length > 0) {
                if (mWordComposer.isBatchMode()) {
                    mWordComposer.reset();
                    if (ProductionFlag.IS_EXPERIMENTAL) {
                        ResearchLogger.latinIME_handleBackspace_batch(mWordComposer.getTypedWord());
                    }
                } else {
                    mWordComposer.deleteLast();
                }
+14 −3
Original line number Diff line number Diff line
@@ -1208,7 +1208,15 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
        final ResearchLogger researchLogger = getInstance();
        researchLogger.enqueueEvent(LOGSTATEMENT_LATINIME_ONENDBATCHINPUT, enteredText,
                enteredWordPos);
        researchLogger.mStatistics.recordGestureInput();
        researchLogger.mStatistics.recordGestureInput(enteredText.length());
    }

    private static final LogStatement LOGSTATEMENT_LATINIME_HANDLEBACKSPACE_BATCH =
            new LogStatement("LatinIMEHandleBackspaceBatch", true, false, "deletedText");
    public static void latinIME_handleBackspace_batch(final CharSequence deletedText) {
        final ResearchLogger researchLogger = getInstance();
        researchLogger.enqueueEvent(LOGSTATEMENT_LATINIME_HANDLEBACKSPACE_BATCH, deletedText);
        researchLogger.mStatistics.recordGestureDelete();
    }

    private static final LogStatement LOGSTATEMENT_STATISTICS =
@@ -1216,7 +1224,8 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
                    "spaceCount", "deleteOpsCount", "wordCount", "isEmptyUponStarting",
                    "isEmptinessStateKnown", "averageTimeBetweenKeys", "averageTimeBeforeDelete",
                    "averageTimeDuringRepeatedDelete", "averageTimeAfterDelete",
                    "dictionaryWordCount", "splitWordsCount", "gestureInputCount");
                    "dictionaryWordCount", "splitWordsCount", "gestureInputCount",
                    "gestureCharsCount", "gesturesDeletedCount");
    private static void logStatistics() {
        final ResearchLogger researchLogger = getInstance();
        final Statistics statistics = researchLogger.mStatistics;
@@ -1228,6 +1237,8 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
                statistics.mDuringRepeatedDeleteKeysCounter.getAverageTime(),
                statistics.mAfterDeleteKeyCounter.getAverageTime(),
                statistics.mDictionaryWordCount, statistics.mSplitWordsCount,
                statistics.mGestureInputCount);
                statistics.mGestureInputCount,
                statistics.mGestureCharsCount,
                statistics.mGesturesDeletedCount);
    }
}
+12 −1
Original line number Diff line number Diff line
@@ -43,6 +43,10 @@ public class Statistics {
    int mSplitWordsCount;
    // Number of gestures that were input.
    int mGestureInputCount;
    // Number of gestures that were deleted.
    int mGesturesDeletedCount;
    // Total number of characters in words entered by gesture.
    int mGestureCharsCount;
    // Whether the text field was empty upon editing
    boolean mIsEmptyUponStarting;
    boolean mIsEmptinessStateKnown;
@@ -109,6 +113,8 @@ public class Statistics {
        mBeforeDeleteKeyCounter.reset();
        mDuringRepeatedDeleteKeysCounter.reset();
        mAfterDeleteKeyCounter.reset();
        mGestureCharsCount = 0;
        mGesturesDeletedCount = 0;

        mLastTapTime = 0;
        mIsLastKeyDeleteKey = false;
@@ -161,12 +167,17 @@ public class Statistics {
        mSplitWordsCount++;
    }

    public void recordGestureInput() {
    public void recordGestureInput(final int numCharsEntered) {
        mGestureInputCount++;
        mGestureCharsCount += numCharsEntered;
    }

    public void setIsEmptyUponStarting(final boolean isEmpty) {
        mIsEmptyUponStarting = isEmpty;
        mIsEmptinessStateKnown = true;
    }

    public void recordGestureDelete() {
        mGesturesDeletedCount++;
    }
}