Always record word boundaries

Word boundaries are currently logged, but only if all the
details of a word pass the privacy filter and are logged.

This change records when a word is committed in all cases,
but does not disclose the word contents or any data used in
its construction.

Addresses b/9070768

Change-Id: I573679d0685c088aca65af99e46337a2f429f816
main
Kurt Partridge 2013-05-20 15:03:12 -07:00
parent eb724ddbe9
commit 450d78b030
1 changed files with 14 additions and 2 deletions

View File

@ -1638,12 +1638,24 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
} }
/** /**
* Shared event for logging committed text. * Shared events for logging committed text.
*
* The "CommitTextEventHappened" LogStatement is written to the log even if privacy rules
* indicate that the word contents should not be logged. It has no contents, and only serves to
* record the event and thereby make it easier to calculate word-level statistics even when the
* word contents are unknown.
*/ */
private static final LogStatement LOGSTATEMENT_COMMITTEXT = private static final LogStatement LOGSTATEMENT_COMMITTEXT =
new LogStatement("CommitText", true, false, "committedText", "isBatchMode"); new LogStatement("CommitText", true /* isPotentiallyPrivate */,
false /* isPotentiallyRevealing */, "committedText", "isBatchMode");
private static final LogStatement LOGSTATEMENT_COMMITTEXT_EVENT_HAPPENED =
new LogStatement("CommitTextEventHappened", false /* isPotentiallyPrivate */,
false /* isPotentiallyRevealing */);
private void enqueueCommitText(final String word, final boolean isBatchMode) { private void enqueueCommitText(final String word, final boolean isBatchMode) {
// Event containing the word; will be published only if privacy checks pass
enqueueEvent(LOGSTATEMENT_COMMITTEXT, word, isBatchMode); enqueueEvent(LOGSTATEMENT_COMMITTEXT, word, isBatchMode);
// Event not containing the word; will always be published
enqueueEvent(LOGSTATEMENT_COMMITTEXT_EVENT_HAPPENED);
} }
/** /**