diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/MainActivity.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/MainActivity.kt index 3e6e338b..9959c3e4 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/MainActivity.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/MainActivity.kt @@ -123,6 +123,7 @@ import de.raphaelebner.roomdatabasebackup.core.RoomBackup import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import org.koin.android.ext.android.inject +import org.koin.androidx.compose.koinViewModel import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.parameter.parametersOf import xyz.teamgravity.pin_lock_compose.PinManager @@ -432,24 +433,24 @@ class MainActivity : AppCompatActivity() { entry { TunnelsScreen() } entry { SortScreen() } entry { key -> - val viewModel by - viewModel { - parametersOf(key.id) - } + val viewModel: TunnelViewModel = + koinViewModel( + parameters = { parametersOf(key.id) } + ) TunnelSettingsScreen(viewModel) } entry { key -> - val viewModel by - viewModel { - parametersOf(key.id) - } + val viewModel: SplitTunnelViewModel = + koinViewModel( + parameters = { parametersOf(key.id) } + ) SplitTunnelScreen(viewModel) } entry { key -> - val viewModel by - viewModel { - parametersOf(key.id) - } + val viewModel: ConfigViewModel = + koinViewModel( + parameters = { parametersOf(key.id) } + ) ConfigScreen(viewModel) } entry { @@ -474,17 +475,17 @@ class MainActivity : AppCompatActivity() { } entry { DnsSettingsScreen() } entry { key -> - val viewModel by - viewModel { - parametersOf(key.id) - } + val viewModel: ConfigViewModel = + koinViewModel( + parameters = { parametersOf(key.id) } + ) ConfigScreen(viewModel) } entry { key -> - val viewModel by - viewModel { - parametersOf(key.id) - } + val viewModel: SplitTunnelViewModel = + koinViewModel( + parameters = { parametersOf(key.id) } + ) SplitTunnelScreen(viewModel) } entry { diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/di/AppModule.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/di/AppModule.kt index af624beb..61320c75 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/di/AppModule.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/di/AppModule.kt @@ -76,7 +76,7 @@ val appModule = module { single { NetworkUtils(get(named(Dispatcher.IO))) } viewModelOf(::AutoTunnelViewModel) - viewModelOf(::ConfigViewModel) + viewModel { (id: Int) -> ConfigViewModel(get(), get(), get(), id) } viewModelOf(::DnsViewModel) viewModelOf(::LicenseViewModel) viewModelOf(::LockdownViewModel) @@ -85,7 +85,7 @@ val appModule = module { viewModelOf(::ProxySettingsViewModel) viewModelOf(::SettingsViewModel) viewModelOf(::SharedAppViewModel) - viewModelOf(::SplitTunnelViewModel) + viewModel { (id: Int) -> SplitTunnelViewModel(get(), get(), get(), id) } viewModel { SupportViewModel(get(), get(named(Dispatcher.MAIN)), get()) } - viewModelOf(::TunnelViewModel) + viewModel { (id: Int) -> TunnelViewModel(get(), get(), id) } }