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

Commit 450d78b0 authored by Kurt Partridge's avatar Kurt Partridge
Browse files

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
parent eb724ddb
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -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 =
            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) {
        // Event containing the word; will be published only if privacy checks pass
        enqueueEvent(LOGSTATEMENT_COMMITTEXT, word, isBatchMode);
        // Event not containing the word; will always be published
        enqueueEvent(LOGSTATEMENT_COMMITTEXT_EVENT_HAPPENED);
    }

    /**