diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/core/service/autotunnel/AutoTunnelService.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/core/service/autotunnel/AutoTunnelService.kt index 9e0eaa15..ea30ab6a 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/core/service/autotunnel/AutoTunnelService.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/core/service/autotunnel/AutoTunnelService.kt @@ -29,6 +29,7 @@ import com.zaneschepke.wireguardautotunnel.util.Constants import com.zaneschepke.wireguardautotunnel.util.extensions.to import com.zaneschepke.wireguardautotunnel.util.extensions.toMillis import dagger.hilt.android.AndroidEntryPoint +import java.lang.ref.WeakReference import javax.inject.Inject import javax.inject.Provider import kotlinx.coroutines.* @@ -60,7 +61,12 @@ class AutoTunnelService : LifecycleService() { private val autoTunnelStateFlow = MutableStateFlow(defaultState) - class LocalBinder(val service: AutoTunnelService) : Binder() + class LocalBinder(service: AutoTunnelService) : Binder() { + private val serviceRef = WeakReference(service) + + val service: AutoTunnelService? + get() = serviceRef.get() + } private val binder = LocalBinder(this)