diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index 1dacc00eb2..e456cdd6ae 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -958,6 +958,10 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac if ("alert_once".equals(key) && !Log.isXiaomi()) continue; + if ("background_service".equals(key) && + Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + continue; + if (key != null && key.startsWith("widget.")) continue; diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index 73d599499f..ffd9d35c1a 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -351,6 +351,9 @@ public class ApplicationEx extends Application implements SharedPreferences.OnSh editor.putBoolean("beige", false); } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + editor.remove("background_service"); + if (version < BuildConfig.VERSION_CODE) editor.putInt("previous_version", version); editor.putInt("version", BuildConfig.VERSION_CODE); diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 3723001078..3de88aae2f 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2256,7 +2256,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences private static void start(Context context, Intent intent) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); boolean background_service = prefs.getBoolean("background_service", false); - if (background_service && Build.VERSION.SDK_INT < Build.VERSION_CODES.O) + if (background_service) context.startService(intent); else ContextCompat.startForegroundService(context, intent);