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

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

ResearchLog uploadingService now waits for logging to finish

Bug: 6188932
Change-Id: I31c0f380b334d9117990f2d92de8d385e4a52c7c
parent 58bb1d7d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ public class ResearchLog {
        mFile = outputFile;
    }

    public synchronized void close() {
    public synchronized void close(final Runnable onClosed) {
        mExecutor.submit(new Callable<Object>() {
            @Override
            public Object call() throws Exception {
@@ -111,6 +111,9 @@ public class ResearchLog {
                    if (mFile.exists()) {
                        mFile.setWritable(false, false);
                    }
                    if (onClosed != null) {
                        onClosed.run();
                    }
                }
                return null;
            }
+8 −4
Original line number Diff line number Diff line
@@ -376,11 +376,11 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang

        if (mMainLogBuffer != null) {
            publishLogBuffer(mMainLogBuffer, mMainResearchLog, false /* isIncludingPrivateData */);
            mMainResearchLog.close();
            mMainResearchLog.close(null /* callback */);
            mMainLogBuffer = null;
        }
        if (mFeedbackLogBuffer != null) {
            mFeedbackLog.close();
            mFeedbackLog.close(null /* callback */);
            mFeedbackLogBuffer = null;
        }
    }
@@ -549,8 +549,12 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
                false /* isPotentiallyPrivate */);
        mFeedbackLogBuffer.shiftIn(feedbackLogUnit);
        publishLogBuffer(mFeedbackLogBuffer, mFeedbackLog, true /* isIncludingPrivateData */);
        mFeedbackLog.close();
        mFeedbackLog.close(new Runnable() {
            @Override
            public void run() {
                uploadNow();
            }
        });
        mFeedbackLog = new ResearchLog(createLogFile(mFilesDir));
    }