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

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

ResearchLogging of segments: groups of LogUnits that are sampled together

Change-Id: Id68de4c6b2df574a38bb5ca800a9b641b1d78200
parent da439fa4
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -706,12 +706,29 @@ 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,
            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;
        while ((logUnit = logBuffer.shiftOut()) != null) {
            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) {