From fdcb994e7a5df39e34d0f32f5913b77a19609b1e Mon Sep 17 00:00:00 2001 From: dimmdev Date: Wed, 27 Jul 2022 09:00:38 +0500 Subject: [PATCH] Fix: infinite reconnect when using wireguard on Android 7 and 7.1 --- client/android/build.gradle | 5 ++++- client/android/src/org/amnezia/vpn/VPNService.kt | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/client/android/build.gradle b/client/android/build.gradle index 6fd19a7c..12129720 100644 --- a/client/android/build.gradle +++ b/client/android/build.gradle @@ -48,7 +48,7 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0" - coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.0.10" + coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5" implementation project(path: ':shadowsocks') } @@ -97,6 +97,9 @@ android { } compileOptions { + // Flag to enable support for the new language APIs + coreLibraryDesugaringEnabled true + sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } diff --git a/client/android/src/org/amnezia/vpn/VPNService.kt b/client/android/src/org/amnezia/vpn/VPNService.kt index f8ed3999..a1f8550c 100644 --- a/client/android/src/org/amnezia/vpn/VPNService.kt +++ b/client/android/src/org/amnezia/vpn/VPNService.kt @@ -520,7 +520,9 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface { peerBuilder.addAllowedIp(network) } } - peerBuilder.setEndpoint(InetEndpoint.parse(peerConfig["Endpoint"])) + val endpointConfig = peerConfig["Endpoint"] + val endpoint = InetEndpoint.parse(endpointConfig) + peerBuilder.setEndpoint(endpoint) peerConfig["PersistentKeepalive"]?.let { peerBuilder.setPersistentKeepalive(it.toInt()) }