diff options
Diffstat (limited to 'android/app/src/main')
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/MullvadApplication.kt | 11 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt (renamed from android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/AppModule.kt) | 2 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt | 12 |
3 files changed, 16 insertions, 9 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/MullvadApplication.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/MullvadApplication.kt index 0c3a0d8640..ae00e9e16d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/MullvadApplication.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/MullvadApplication.kt @@ -1,20 +1,19 @@ package net.mullvad.mullvadvpn import android.app.Application -import net.mullvad.mullvadvpn.di.appModule import org.koin.android.ext.koin.androidContext import org.koin.core.context.startKoin +/** + * In Android, separate instances of the application class (MullvadApplication) will be instantiated + * for each process. That also means that a only common logic should be placed here. + */ class MullvadApplication : Application() { - override fun onCreate() { super.onCreate() - // start Koin! + // Used to create/start separate DI graphs for each process. Avoid non-common classes etc. startKoin { - // declare used Android context androidContext(this@MullvadApplication) - // declare modules - modules(appModule) } } } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/AppModule.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt index 5d576f0f0c..17cfd3c922 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/AppModule.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt @@ -14,7 +14,7 @@ import org.koin.core.qualifier.named import org.koin.dsl.module import org.koin.dsl.onClose -val appModule = module { +val uiModule = module { single<PackageManager> { androidContext().packageManager } single<String>(named(SELF_PACKAGE_NAME)) { androidContext().packageName } 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 bda1055c76..16673ea65d 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 @@ -10,6 +10,7 @@ import android.net.VpnService import android.os.Bundle import android.os.IBinder import android.os.Messenger +import android.util.Log import android.view.WindowManager import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity @@ -18,11 +19,15 @@ import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.BuildConfig import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.dataproxy.MullvadProblemReport +import net.mullvad.mullvadvpn.di.uiModule import net.mullvad.mullvadvpn.service.MullvadVpnService import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnection import net.mullvad.talpid.util.EventNotifier +import org.koin.core.context.loadKoinModules +import org.koin.core.context.unloadKoinModules open class MainActivity : FragmentActivity() { + val problemReport = MullvadProblemReport() val serviceNotifier = EventNotifier<ServiceConnection?>(null) @@ -64,6 +69,8 @@ open class MainActivity : FragmentActivity() { var backButtonHandler: (() -> Boolean)? = null override fun onCreate(savedInstanceState: Bundle?) { + loadKoinModules(uiModule) + requestedOrientation = if (deviceIsTv) { ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE } else { @@ -85,7 +92,7 @@ open class MainActivity : FragmentActivity() { } override fun onStart() { - android.util.Log.d("mullvad", "Starting main activity") + Log.d("mullvad", "Starting main activity") super.onStart() val intent = Intent(this, MullvadVpnService::class.java) @@ -107,8 +114,9 @@ open class MainActivity : FragmentActivity() { } override fun onStop() { - android.util.Log.d("mullvad", "Stoping main activity") + Log.d("mullvad", "Stoping main activity") unbindService(serviceConnectionManager) + unloadKoinModules(uiModule) super.onStop() |
