Merge "[Rlog7] ResearchLog improve gesture tracking"

This commit is contained in:
Kurt Partridge 2012-12-22 11:50:45 -08:00 committed by Android (Google) Code Review
commit ab9f4fd359
3 changed files with 29 additions and 4 deletions

View file

@ -1681,6 +1681,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();
}

View file

@ -1221,7 +1221,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 =
@ -1229,7 +1237,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;
@ -1241,6 +1250,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);
}
}

View file

@ -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++;
}
}