ResearchLog uploadingService now waits for logging to finish

Bug: 6188932
Change-Id: I31c0f380b334d9117990f2d92de8d385e4a52c7c
This commit is contained in:
Kurt Partridge 2012-08-08 09:38:24 -07:00
parent 58bb1d7dd1
commit 17114054e9
2 changed files with 12 additions and 5 deletions

View file

@ -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;
}

View file

@ -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));
}