diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index d976840f63..aa0113dabc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -258,7 +258,10 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr SignalProtocolLoggerProvider.setProvider(new CustomSignalProtocolLogger()); - SignalExecutors.UNBOUNDED.execute(() -> LogDatabase.getInstance(this).trimToSize()); + SignalExecutors.UNBOUNDED.execute(() -> { + Log.blockUntilAllWritesFinished(); + LogDatabase.getInstance(this).trimToSize(); + }); } private void initializeCrashHandling() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogRepository.java b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogRepository.java index 96a235eb30..88dc806b73 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogRepository.java @@ -104,6 +104,7 @@ public class SubmitDebugLogRepository { public void buildAndSubmitLog(@NonNull Callback> callback) { SignalExecutors.UNBOUNDED.execute(() -> { + Log.blockUntilAllWritesFinished(); LogDatabase.getInstance(context).trimToSize(); callback.onResult(submitLogInternal(System.currentTimeMillis(), getPrefixLogLinesInternal(), Tracer.getInstance().serialize())); }); diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogViewModel.java index f2d8183abb..3fd178138c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogViewModel.java @@ -8,6 +8,7 @@ import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModelProvider; import org.signal.core.util.ThreadUtil; +import org.signal.core.util.logging.Log; import org.signal.core.util.tracing.Tracer; import org.signal.paging.PagedData; import org.signal.paging.PagingConfig; @@ -43,6 +44,7 @@ public class SubmitDebugLogViewModel extends ViewModel { repo.getPrefixLogLines(staticLines -> { this.staticLines.addAll(staticLines); + Log.blockUntilAllWritesFinished(); LogDatabase.getInstance(ApplicationDependencies.getApplication()).trimToSize(); LogDataSource dataSource = new LogDataSource(ApplicationDependencies.getApplication(), staticLines, firstViewTime);