diff --git a/app/src/main/java/org/itxtech/daedalus/Daedalus.java b/app/src/main/java/org/itxtech/daedalus/Daedalus.java index d64a4cd..1bc40f2 100644 --- a/app/src/main/java/org/itxtech/daedalus/Daedalus.java +++ b/app/src/main/java/org/itxtech/daedalus/Daedalus.java @@ -210,9 +210,13 @@ public class Daedalus extends Application { } public static void activateService(Context context) { + activateService(context, false); + } + + public static void activateService(Context context, boolean forceForeground) { DaedalusVpnService.primaryServer = (AbstractDnsServer) DnsServerHelper.getServerById(DnsServerHelper.getPrimary()).clone(); DaedalusVpnService.secondaryServer = (AbstractDnsServer) DnsServerHelper.getServerById(DnsServerHelper.getSecondary()).clone(); - if (getInstance().prefs.getBoolean("settings_foreground", false) + if ((getInstance().prefs.getBoolean("settings_foreground", false) || forceForeground) && Build.VERSION.SDK_INT > Build.VERSION_CODES.O) { Logger.info("Starting foreground service"); context.startForegroundService(Daedalus.getServiceIntent(context).setAction(DaedalusVpnService.ACTION_ACTIVATE)); diff --git a/app/src/main/java/org/itxtech/daedalus/receiver/BootBroadcastReceiver.java b/app/src/main/java/org/itxtech/daedalus/receiver/BootBroadcastReceiver.java index e7ac84e..63e65b1 100644 --- a/app/src/main/java/org/itxtech/daedalus/receiver/BootBroadcastReceiver.java +++ b/app/src/main/java/org/itxtech/daedalus/receiver/BootBroadcastReceiver.java @@ -21,7 +21,7 @@ public class BootBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Daedalus.getPrefs().getBoolean("settings_boot", false)) { - Daedalus.activateService(context); + Daedalus.activateService(context, true); Logger.info("Triggered boot receiver"); } }