Skip to content

Commit 0fb5097

Browse files
committed
Call checkpoint creation from an executor
java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time. Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
1 parent c399fd9 commit 0fb5097

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

app/src/main/java/org/schabi/newpipe/settings/BackupRestoreSettingsFragment.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
import java.util.Date;
4141
import java.util.Locale;
4242
import java.util.Objects;
43+
import java.util.concurrent.ExecutorService;
44+
import java.util.concurrent.Executors;
4345

4446
public class BackupRestoreSettingsFragment extends BasePreferenceFragment {
4547

@@ -155,9 +157,9 @@ private void requestImportPathResult(final ActivityResult result) {
155157
}
156158

157159
private void exportDatabase(final StoredFileHelper file, final Uri exportDataUri) {
158-
try {
160+
try (ExecutorService executor = Executors.newSingleThreadExecutor()) {
159161
//checkpoint before export
160-
NewPipeDatabase.checkpoint();
162+
executor.submit(NewPipeDatabase::checkpoint).get();
161163

162164
final SharedPreferences preferences = PreferenceManager
163165
.getDefaultSharedPreferences(requireContext());

0 commit comments

Comments
 (0)