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 3f4f9aa5..ae94a7ce 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/di/AppModule.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/di/AppModule.kt @@ -14,32 +14,18 @@ import com.zaneschepke.wireguardautotunnel.domain.repository.GlobalEffectReposit import com.zaneschepke.wireguardautotunnel.domain.repository.SelectedTunnelsRepository import com.zaneschepke.wireguardautotunnel.util.FileUtils import com.zaneschepke.wireguardautotunnel.util.network.NetworkUtils -import com.zaneschepke.wireguardautotunnel.viewmodel.AutoTunnelViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.ConfigViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.DnsViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.LicenseViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.LockdownViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.LoggerViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.MonitoringViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.ProxySettingsViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.SettingsViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.SharedAppViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.SplitTunnelViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.SupportViewModel -import com.zaneschepke.wireguardautotunnel.viewmodel.TunnelViewModel +import com.zaneschepke.wireguardautotunnel.viewmodel.* import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob import org.koin.android.ext.koin.androidContext import org.koin.core.annotation.KoinExperimentalAPI -import org.koin.core.module.dsl.scopedOf import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.viewModel import org.koin.core.module.dsl.viewModelOf import org.koin.core.qualifier.named import org.koin.dsl.bind import org.koin.dsl.module -import org.koin.viewmodel.scope.viewModelScope @OptIn(KoinExperimentalAPI::class) val appModule = module { @@ -66,18 +52,14 @@ val appModule = module { singleOf(::GlobalEffectRepository) - viewModelScope { - scoped { FileUtils(androidContext(), get(named(Dispatcher.IO))) } - scoped { - DynamicShortcutManager(androidContext(), get(named(Dispatcher.IO))) - } - scopedOf(::SelectedTunnelsRepository) - } + single { FileUtils(androidContext(), get(named(Dispatcher.IO))) } + single { DynamicShortcutManager(androidContext(), get(named(Dispatcher.IO))) } + singleOf(::SelectedTunnelsRepository) single { NetworkUtils(get(named(Dispatcher.IO))) } viewModelOf(::AutoTunnelViewModel) - viewModel { (id: Int) -> ConfigViewModel(get(), get(), get(), id) } + viewModel { (id: Int?) -> ConfigViewModel(get(), get(), get(), id) } viewModelOf(::DnsViewModel) viewModelOf(::LicenseViewModel) viewModelOf(::LockdownViewModel) diff --git a/gradle.properties b/gradle.properties index 9454e59a..ab9fdc6f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=2g -XX:+HeapDumpOnOutOfMemoryError +org.gradle.jvmargs=-Xmx12g -XX:MaxMetaspaceSize=4g -XX:+HeapDumpOnOutOfMemoryError # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1e692290..0e354432 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,11 @@ [versions] accompanist = "0.37.3" activityCompose = "1.12.2" -amneziawgAndroid = "2.3.3" +amneziawgAndroid = "2.3.4" androidx-junit = "1.3.0" icmp4a = "1.0.0" ipaddress = "5.5.1" -koinBom = "4.2.0-beta2" +koinBom = "4.2.0-beta4" leakcanaryAndroid = "3.0-alpha-8" orbitCompose = "11.0.0" roomdatabasebackup = "1.1.0" @@ -17,10 +17,10 @@ desugar_jdk_libs = "2.1.5" espressoCore = "3.7.0" navigation3 = "1.0.0" junit = "4.13.2" -kotlinx-serialization-json = "1.9.0" -ktorClientCore = "3.3.3" +kotlinx-serialization-json = "1.10.0" +ktorClientCore = "3.4.0" lifecycle-runtime-compose = "2.10.0" -material3 = "1.5.0-alpha11" +material3 = "1.5.0-alpha12" pinLockCompose = "1.0.5" qrose = "1.0.1" roomVersion = "2.8.4" @@ -28,11 +28,11 @@ semver4j = "3.1.0" slf4jAndroid = "1.7.36" timber = "5.0.1" tunnel = "1.4.0" -androidGradlePlugin = "8.13.2" +androidGradlePlugin = "8.12.3" kotlin = "2.3.0" ksp = "2.3.4" -composeBom = "2025.12.01" -compose = "1.10.0" +composeBom = "2026.01.00" +compose = "1.10.1" icons = "1.7.8" workRuntimeKtxVersion = "2.11.0" quickieFoss = "1.15.7"