From 9c5d1cbde559cad5d23a8fd0b87776aaa9af5acd Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 27 Dec 2022 21:39:27 +0100 Subject: [PATCH] Use dedicated I/O executor --- app/src/main/java/eu/faircode/email/DB.java | 6 +++--- app/src/main/java/eu/faircode/email/Helper.java | 2 +- app/src/main/java/eu/faircode/email/ViewModelMessages.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DB.java b/app/src/main/java/eu/faircode/email/DB.java index 074774501b..d0b715ce6f 100644 --- a/app/src/main/java/eu/faircode/email/DB.java +++ b/app/src/main/java/eu/faircode/email/DB.java @@ -405,7 +405,7 @@ public abstract class DB extends RoomDatabase { .databaseBuilder(context, DB.class, DB_NAME) //.openHelperFactory(new RequerySQLiteOpenHelperFactory()) //.setQueryExecutor() - .setTransactionExecutor(Helper.getParallelExecutor()) + .setTransactionExecutor(Helper.getBackgroundExecutor(4, "db")) .setJournalMode(wal ? JournalMode.WRITE_AHEAD_LOGGING : JournalMode.TRUNCATE) // using the latest sqlite .addCallback(new Callback() { @Override @@ -2665,7 +2665,7 @@ public abstract class DB extends RoomDatabase { public static void checkpoint(Context context) { // https://www.sqlite.org/pragma.html#pragma_wal_checkpoint DB db = getInstance(context); - Helper.getParallelExecutor().execute(new Runnable() { + db.getQueryExecutor().execute(new Runnable() { @Override public void run() { try { @@ -2695,7 +2695,7 @@ public abstract class DB extends RoomDatabase { public static void shrinkMemory(Context context) { DB db = getInstance(context); - Helper.getParallelExecutor().execute(new Runnable() { + db.getQueryExecutor().execute(new Runnable() { @Override public void run() { try { diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 9f83be0d88..5d670832eb 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -280,7 +280,7 @@ public class Helper { } } - private static ExecutorService getBackgroundExecutor(int threads, final String name) { + static ExecutorService getBackgroundExecutor(int threads, final String name) { ThreadFactory factory = new ThreadFactory() { private final AtomicInteger threadId = new AtomicInteger(); diff --git a/app/src/main/java/eu/faircode/email/ViewModelMessages.java b/app/src/main/java/eu/faircode/email/ViewModelMessages.java index 4b11d6bfd8..4c1d8436d5 100644 --- a/app/src/main/java/eu/faircode/email/ViewModelMessages.java +++ b/app/src/main/java/eu/faircode/email/ViewModelMessages.java @@ -200,7 +200,7 @@ public class ViewModelMessages extends ViewModel { break; } - builder.setFetchExecutor(Helper.getParallelExecutor()); + builder.setFetchExecutor(db.getQueryExecutor()); model = new Model(args, builder.build(), boundary); models.put(viewType, model);