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

Commit 125f22dc authored by Kurt Partridge's avatar Kurt Partridge
Browse files

Include nanoTime in filename

System is fast enough that sometimes SystemClock.currentTimeMillis() is duplicated
when used to make a unique filename.

Change-Id: I9454fbb5e10265d36b8e17cba183a1591d52cc7b
parent 3970352e
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -97,15 +97,17 @@ public class ResearchLogDirectory {
        }
    }

    public File getLogFilePath(final long time) {
        return new File(mFilesDir, getUniqueFilename(LOG_FILENAME_PREFIX, time));
    public File getLogFilePath(final long time, final long nanoTime) {
        return new File(mFilesDir, getUniqueFilename(LOG_FILENAME_PREFIX, time, nanoTime));
    }

    public File getUserRecordingFilePath(final long time) {
        return new File(mFilesDir, getUniqueFilename(USER_RECORDING_FILENAME_PREFIX, time));
    public File getUserRecordingFilePath(final long time, final long nanoTime) {
        return new File(mFilesDir, getUniqueFilename(USER_RECORDING_FILENAME_PREFIX, time,
                nanoTime));
    }

    private static String getUniqueFilename(final String prefix, final long time) {
        return prefix + "-" + time + FILENAME_SUFFIX;
    private static String getUniqueFilename(final String prefix, final long time,
            final long nanoTime) {
        return prefix + "-" + time + "-" + nanoTime + FILENAME_SUFFIX;
    }
}
+3 −3
Original line number Diff line number Diff line
@@ -389,7 +389,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
        }
        if (mMainLogBuffer == null) {
            mMainResearchLog = new ResearchLog(mResearchLogDirectory.getLogFilePath(
                    System.currentTimeMillis()), mLatinIME);
                    System.currentTimeMillis(), System.nanoTime()), mLatinIME);
            final int numWordsToIgnore = new Random().nextInt(NUMBER_OF_WORDS_BETWEEN_SAMPLES + 1);
            mMainLogBuffer = new MainLogBuffer(NUMBER_OF_WORDS_BETWEEN_SAMPLES, numWordsToIgnore,
                    mSuggest) {
@@ -420,7 +420,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang

    private void resetFeedbackLogging() {
        mFeedbackLog = new ResearchLog(mResearchLogDirectory.getLogFilePath(
                System.currentTimeMillis()), mLatinIME);
                System.currentTimeMillis(), System.nanoTime()), mLatinIME);
        mFeedbackLogBuffer = new FixedLogBuffer(FEEDBACK_WORD_BUFFER_SIZE);
    }

@@ -545,7 +545,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
            mUserRecordingLog.blockingAbort(RESEARCHLOG_ABORT_TIMEOUT_IN_MS);
        }
        mUserRecordingFile = mResearchLogDirectory.getUserRecordingFilePath(
                System.currentTimeMillis());
                System.currentTimeMillis(), System.nanoTime());
        mUserRecordingLog = new ResearchLog(mUserRecordingFile, mLatinIME);
        mUserRecordingLogBuffer = new LogBuffer();
        resetRecordingTimer();