diff --git a/app/src/main/java/org/linphone/core/BootReceiver.kt b/app/src/main/java/org/linphone/core/BootReceiver.kt index 951eacde0..22cad84ed 100644 --- a/app/src/main/java/org/linphone/core/BootReceiver.kt +++ b/app/src/main/java/org/linphone/core/BootReceiver.kt @@ -23,6 +23,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import androidx.core.app.NotificationManagerCompat +import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.compatibility.Compatibility @@ -35,12 +36,16 @@ class BootReceiver : BroadcastReceiver() { Log.i("[Boot Receiver] Device is starting, autoStart is $autoStart") if (autoStart) { startService(context) + } else { + stopService() } } else if (intent.action.equals(Intent.ACTION_MY_PACKAGE_REPLACED, ignoreCase = true)) { val autoStart = corePreferences.autoStart Log.i("[Boot Receiver] App has been updated, autoStart is $autoStart") if (autoStart) { startService(context) + } else { + stopService() } } } @@ -57,4 +62,10 @@ class BootReceiver : BroadcastReceiver() { serviceIntent.putExtra("StartForeground", true) Compatibility.startForegroundService(context, serviceIntent) } + + private fun stopService() { + Log.i("[Boot Receiver] Auto start setting is disabled, stopping foreground service") + coreContext.notificationsManager.stopForegroundNotification() + coreContext.stop() + } }