From cb25ccc175a7726e0c6eb2f5778e63c00b878e6d Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 19 Aug 2018 07:21:39 +0000 Subject: [PATCH] Fixed ANRs --- app/src/main/java/eu/faircode/email/ServiceSynchronize.java | 3 +++ app/src/main/java/eu/faircode/email/SimpleTask.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 3aea8a97b5..a9744f669e 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -109,6 +109,8 @@ import androidx.lifecycle.LifecycleService; import androidx.lifecycle.Observer; import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import static android.os.Process.THREAD_PRIORITY_BACKGROUND; + public class ServiceSynchronize extends LifecycleService { private final Object lock = new Object(); private ServiceManager serviceManager = new ServiceManager(); @@ -1451,6 +1453,7 @@ public class ServiceSynchronize extends LifecycleService { } } }, "sync.main"); + main.setPriority(THREAD_PRIORITY_BACKGROUND); // will be inherited main.start(); } diff --git a/app/src/main/java/eu/faircode/email/SimpleTask.java b/app/src/main/java/eu/faircode/email/SimpleTask.java index 581f45ab6a..2396849a61 100644 --- a/app/src/main/java/eu/faircode/email/SimpleTask.java +++ b/app/src/main/java/eu/faircode/email/SimpleTask.java @@ -33,6 +33,8 @@ import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleService; import androidx.lifecycle.OnLifecycleEvent; +import static android.os.Process.THREAD_PRIORITY_BACKGROUND; + // // This simple task is simple to use, but it is also simple to cause bugs that can easily lead to crashes // Make sure to not access any member in any outer scope from onLoad @@ -50,6 +52,7 @@ public abstract class SimpleTask implements LifecycleObserver { static { handlerThread = new HandlerThread("SimpleTask"); + handlerThread.setPriority(THREAD_PRIORITY_BACKGROUND); handlerThread.start(); handler = new Handler(handlerThread.getLooper()); }