summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-05-24 15:38:31 +0200
committerAlbin <albin@mullvad.net>2022-05-31 14:23:23 +0200
commitecb75765ff679454cf252af552a99a3e3380b145 (patch)
tree61b1eba5d88172549a65bd2d30afc038c181d289
parent31ec1f1449a7633f9fa977a0bae1611a4658fb59 (diff)
downloadmullvadvpn-ecb75765ff679454cf252af552a99a3e3380b145.tar.xz
mullvadvpn-ecb75765ff679454cf252af552a99a3e3380b145.zip
Fix Koin lifecycle crash
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt3
2 files changed, 2 insertions, 2 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt
index 16673ea65d..db092882d9 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt
@@ -116,7 +116,6 @@ open class MainActivity : FragmentActivity() {
override fun onStop() {
Log.d("mullvad", "Stoping main activity")
unbindService(serviceConnectionManager)
- unloadKoinModules(uiModule)
super.onStop()
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt
index 3e3496fa14..d957fc8614 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt
@@ -28,7 +28,7 @@ class ServiceConnection(
Event.fromMessage(message)
}
- override val scope = getKoin().createScope(
+ override val scope = getKoin().getOrCreateScope(
SERVICE_CONNECTION_SCOPE,
named(SERVICE_CONNECTION_SCOPE), this
)
@@ -40,6 +40,7 @@ class ServiceConnection(
DeviceRepository(ServiceConnectionDeviceDataSource(connection, dispatcher), MainScope())
val locationInfoCache = LocationInfoCache(dispatcher)
val settingsListener = SettingsListener(connection, dispatcher)
+ // NOTE: `org.koin.core.scope.get` must be used here rather than `org.koin.core.component.get`.
val splitTunneling = get<SplitTunneling>(parameters = { parametersOf(connection, dispatcher) })
val voucherRedeemer = VoucherRedeemer(connection, dispatcher)
val vpnPermission = VpnPermission(connection, dispatcher)