Run ROOM queries/transaction at foreground priority

pull/156/head
M66B 5 years ago
parent 3205db6798
commit 9c7399c9e7

@ -92,7 +92,7 @@ public abstract class DB extends RoomDatabase {
public abstract DaoLog log();
private static DB sInstance;
private static ExecutorService executor = Executors.newCachedThreadPool(Helper.backgroundThreadFactory);
private static ExecutorService executor = Executors.newCachedThreadPool(Helper.foregroundThreadFactory);
private static final String DB_NAME = "fairemail";

@ -105,12 +105,23 @@ public class Helper {
@Override
public Thread newThread(@NonNull Runnable runnable) {
Thread thread = new Thread(runnable);
thread.setName("FairEmail_" + threadId.getAndIncrement());
thread.setName("FairEmail_bg_" + threadId.getAndIncrement());
thread.setPriority(THREAD_PRIORITY_BACKGROUND);
return thread;
}
};
static ThreadFactory foregroundThreadFactory = new ThreadFactory() {
private final AtomicInteger threadId = new AtomicInteger();
@Override
public Thread newThread(@NonNull Runnable runnable) {
Thread thread = new Thread(runnable);
thread.setName("FairEmail_fg_" + threadId.getAndIncrement());
return thread;
}
};
// Features
static boolean hasPermission(Context context, String name) {

Loading…
Cancel
Save