Merge remote-tracking branch 'goog/master' into mergescriptpackage

main
Satoshi Kataoka 2012-12-03 14:10:25 +09:00
commit 27da749a27
1 changed files with 22 additions and 5 deletions

View File

@ -708,28 +708,45 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
} }
} }
private static final String[] EVENTKEYS_LOG_SEGMENT_START = {
"logSegmentStart", "isIncludingPrivateData"
};
private static final String[] EVENTKEYS_LOG_SEGMENT_END = {
"logSegmentEnd"
};
/* package for test */ void publishLogBuffer(final LogBuffer logBuffer, /* package for test */ void publishLogBuffer(final LogBuffer logBuffer,
final ResearchLog researchLog, final boolean isIncludingPrivateData) { final ResearchLog researchLog, final boolean isIncludingPrivateData) {
final LogUnit openingLogUnit = new LogUnit();
final Object[] values = {
isIncludingPrivateData
};
openingLogUnit.addLogStatement(EVENTKEYS_LOG_SEGMENT_START, values,
false /* isPotentiallyPrivate */);
researchLog.publish(openingLogUnit, true /* isIncludingPrivateData */);
LogUnit logUnit; LogUnit logUnit;
while ((logUnit = logBuffer.shiftOut()) != null) { while ((logUnit = logBuffer.shiftOut()) != null) {
researchLog.publish(logUnit, isIncludingPrivateData); researchLog.publish(logUnit, isIncludingPrivateData);
} }
final LogUnit closingLogUnit = new LogUnit();
closingLogUnit.addLogStatement(EVENTKEYS_LOG_SEGMENT_END, EVENTKEYS_NULLVALUES,
false /* isPotentiallyPrivate */);
researchLog.publish(closingLogUnit, true /* isIncludingPrivateData */);
} }
private boolean hasOnlyLetters(final String word) { private boolean hasLetters(final String word) {
final int length = word.length(); final int length = word.length();
for (int i = 0; i < length; i = word.offsetByCodePoints(i, 1)) { for (int i = 0; i < length; i = word.offsetByCodePoints(i, 1)) {
final int codePoint = word.codePointAt(i); final int codePoint = word.codePointAt(i);
if (!Character.isLetter(codePoint)) { if (Character.isLetter(codePoint)) {
return false; return true;
} }
} }
return true; return false;
} }
private void onWordComplete(final String word) { private void onWordComplete(final String word) {
Log.d(TAG, "onWordComplete: " + word); Log.d(TAG, "onWordComplete: " + word);
if (word != null && word.length() > 0 && hasOnlyLetters(word)) { if (word != null && word.length() > 0 && hasLetters(word)) {
mCurrentLogUnit.setWord(word); mCurrentLogUnit.setWord(word);
mStatistics.recordWordEntered(); mStatistics.recordWordEntered();
} }