diff options
| author | Albin <albin@mullvad.net> | 2023-07-25 14:40:22 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-07-25 14:40:22 +0200 |
| commit | 3fb0a7b1928bd32b4454cca74a258820dce5cd15 (patch) | |
| tree | 3e14dd1501f1669b109abbc272cef7028ac2ea51 /android | |
| parent | 2db0704b43b17defa9af36c8b1459f2cab7d1b18 (diff) | |
| parent | 256426268b5c0f821d64a9985a5c962d9e5ce7e5 (diff) | |
| download | mullvadvpn-3fb0a7b1928bd32b4454cca74a258820dce5cd15.tar.xz mullvadvpn-3fb0a7b1928bd32b4454cca74a258820dce5cd15.zip | |
Merge branch 'move-talpid-classes-its-own-module-droid-221'
Diffstat (limited to 'android')
28 files changed, 67 insertions, 14 deletions
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index b40bab7c92..ec787deeaa 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -209,6 +209,7 @@ play { dependencies { implementation(project(Dependencies.Mullvad.endpointLib)) + implementation(project(Dependencies.Mullvad.talpidLib)) implementation(Dependencies.androidMaterial) implementation(Dependencies.commonsValidator) diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadTileService.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadTileService.kt index 96630a2cec..723bcd9166 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadTileService.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadTileService.kt @@ -10,7 +10,6 @@ import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.debounce import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt index e33e3d028f..7f5254c41b 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt @@ -6,7 +6,6 @@ import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.channels.ClosedReceiveChannelException import kotlinx.coroutines.channels.actor import kotlinx.coroutines.channels.trySendBlocking -import kotlinx.coroutines.flow.collect import net.mullvad.mullvadvpn.ipc.Event import net.mullvad.mullvadvpn.ipc.Request import net.mullvad.mullvadvpn.model.AccountCreationResult diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/LocationInfoCache.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/LocationInfoCache.kt index 7b0d419b45..54ffd654be 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/LocationInfoCache.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/LocationInfoCache.kt @@ -9,7 +9,6 @@ import kotlinx.coroutines.channels.ReceiveChannel import kotlinx.coroutines.channels.actor import kotlinx.coroutines.channels.trySendBlocking import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.receiveAsFlow diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/ErrorStateExtension.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/ErrorStateExtension.kt index 9c25a194af..54d676a9e7 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/ErrorStateExtension.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/ErrorStateExtension.kt @@ -13,7 +13,9 @@ fun ErrorState.getErrorNotificationResources(context: Context): ErrorNotificatio ErrorNotificationMessage( R.string.blocking_internet, cause.errorMessageId(), - cause.addresses.joinToString { address -> address.addressString() } + (cause as ErrorStateCause.InvalidDnsServers).addresses.joinToString { address -> + address.addressString() + } ) } cause is ErrorStateCause.VpnPermissionDenied -> { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/SdkUtils.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/SdkUtils.kt index cb631d8af6..e8dc6a3c35 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/SdkUtils.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/SdkUtils.kt @@ -5,7 +5,6 @@ import android.app.PendingIntent import android.content.Context import android.content.pm.PackageInfo import android.content.pm.PackageManager -import android.net.VpnService import android.os.Build import android.service.quicksettings.Tile @@ -24,12 +23,6 @@ object SdkUtils { PackageManager.PERMISSION_GRANTED } - fun VpnService.Builder.setMeteredIfSupported(isMetered: Boolean) { - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) { - this.setMetered(isMetered) - } - } - fun Tile.setSubtitleIfSupported(subtitleText: CharSequence) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { this.subtitle = subtitleText diff --git a/android/buildSrc/src/main/kotlin/Dependencies.kt b/android/buildSrc/src/main/kotlin/Dependencies.kt index 288198f47c..172aa0adda 100644 --- a/android/buildSrc/src/main/kotlin/Dependencies.kt +++ b/android/buildSrc/src/main/kotlin/Dependencies.kt @@ -90,6 +90,7 @@ object Dependencies { object Mullvad { const val endpointLib = ":lib:endpoint" + const val talpidLib = ":lib:talpid" } object Plugin { diff --git a/android/lib/talpid/build.gradle.kts b/android/lib/talpid/build.gradle.kts new file mode 100644 index 0000000000..715ba23b88 --- /dev/null +++ b/android/lib/talpid/build.gradle.kts @@ -0,0 +1,35 @@ +plugins { + id(Dependencies.Plugin.androidLibraryId) + id(Dependencies.Plugin.kotlinAndroidId) + id(Dependencies.Plugin.kotlinParcelizeId) +} + +android { + namespace = "net.mullvad.talpid" + compileSdk = Versions.Android.compileSdkVersion + + defaultConfig { + minSdk = Versions.Android.minSdkVersion + targetSdk = Versions.Android.targetSdkVersion + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = Versions.jvmTarget + } + + lint { + lintConfig = file("${rootProject.projectDir}/config/lint.xml") + abortOnError = true + warningsAsErrors = true + } +} + +dependencies { + implementation(Dependencies.Kotlin.stdlib) + implementation(Dependencies.KotlinX.coroutinesAndroid) +} diff --git a/android/lib/talpid/src/main/AndroidManifest.xml b/android/lib/talpid/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..d7546021b5 --- /dev/null +++ b/android/lib/talpid/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ +<manifest xmlns:android="http://schemas.android.com/apk/res/android"> + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> +</manifest> diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt index de56ebb878..de56ebb878 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/CreateTunResult.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/CreateTunResult.kt index 33f62026d6..33f62026d6 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/CreateTunResult.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/CreateTunResult.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt index 9f5e4a67a6..a94bfac428 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt @@ -6,8 +6,8 @@ import java.net.Inet4Address import java.net.Inet6Address import java.net.InetAddress import kotlin.properties.Delegates.observable -import net.mullvad.mullvadvpn.util.SdkUtils.setMeteredIfSupported import net.mullvad.talpid.tun_provider.TunConfig +import net.mullvad.talpid.util.TalpidSdkUtils.setMeteredIfSupported open class TalpidVpnService : VpnService() { private var activeTunStatus by diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt index 8937bd0122..8937bd0122 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/net/ObfuscationEndpoint.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/ObfuscationEndpoint.kt index 9ec96b1494..9ec96b1494 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/net/ObfuscationEndpoint.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/ObfuscationEndpoint.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/net/ObfuscationType.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/ObfuscationType.kt index 72409d9026..72409d9026 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/net/ObfuscationType.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/ObfuscationType.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt index 89fdedaba1..89fdedaba1 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt index 9c45833eb2..9c45833eb2 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt index a8490b48bf..a8490b48bf 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt index 7efd3f7763..7efd3f7763 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt index a62abaacd0..a62abaacd0 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorState.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorState.kt index 070d190beb..070d190beb 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorState.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorState.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt index 5096e5c693..5096e5c693 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt index b1504c676f..b1504c676f 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt index 148b56eb45..148b56eb45 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/util/EventNotifierExtensions.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/EventNotifierExtensions.kt index add362fcb1..add362fcb1 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/util/EventNotifierExtensions.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/EventNotifierExtensions.kt diff --git a/android/app/src/main/kotlin/net/mullvad/talpid/util/InetAddressExt.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/InetAddressExt.kt index d310deb884..d310deb884 100644 --- a/android/app/src/main/kotlin/net/mullvad/talpid/util/InetAddressExt.kt +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/InetAddressExt.kt diff --git a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/TalpidSdkUtils.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/TalpidSdkUtils.kt new file mode 100644 index 0000000000..9eaecb2e8a --- /dev/null +++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/TalpidSdkUtils.kt @@ -0,0 +1,12 @@ +package net.mullvad.talpid.util + +import android.net.VpnService +import android.os.Build + +object TalpidSdkUtils { + fun VpnService.Builder.setMeteredIfSupported(isMetered: Boolean) { + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) { + this.setMetered(isMetered) + } + } +} diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts index d847a97691..9e838aedfd 100644 --- a/android/settings.gradle.kts +++ b/android/settings.gradle.kts @@ -1,2 +1,11 @@ -include(":app", ":lib:endpoint") -include(":test", ":test:common", ":test:e2e", ":test:mockapi") +include(":app") +include( + ":lib:endpoint", + ":lib:talpid:" +) +include( + ":test", + ":test:common", + ":test:e2e", + ":test:mockapi" +) |
