summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-07-25 14:40:22 +0200
committerAlbin <albin@mullvad.net>2023-07-25 14:40:22 +0200
commit3fb0a7b1928bd32b4454cca74a258820dce5cd15 (patch)
tree3e14dd1501f1669b109abbc272cef7028ac2ea51 /android
parent2db0704b43b17defa9af36c8b1459f2cab7d1b18 (diff)
parent256426268b5c0f821d64a9985a5c962d9e5ce7e5 (diff)
downloadmullvadvpn-3fb0a7b1928bd32b4454cca74a258820dce5cd15.tar.xz
mullvadvpn-3fb0a7b1928bd32b4454cca74a258820dce5cd15.zip
Merge branch 'move-talpid-classes-its-own-module-droid-221'
Diffstat (limited to 'android')
-rw-r--r--android/app/build.gradle.kts1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadTileService.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/AccountCache.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/LocationInfoCache.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/ErrorStateExtension.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/util/SdkUtils.kt7
-rw-r--r--android/buildSrc/src/main/kotlin/Dependencies.kt1
-rw-r--r--android/lib/talpid/build.gradle.kts35
-rw-r--r--android/lib/talpid/src/main/AndroidManifest.xml3
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/CreateTunResult.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/CreateTunResult.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt)2
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/ObfuscationEndpoint.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/net/ObfuscationEndpoint.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/ObfuscationType.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/net/ObfuscationType.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorState.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorState.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/EventNotifierExtensions.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/util/EventNotifierExtensions.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/InetAddressExt.kt (renamed from android/app/src/main/kotlin/net/mullvad/talpid/util/InetAddressExt.kt)0
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/util/TalpidSdkUtils.kt12
-rw-r--r--android/settings.gradle.kts13
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"
+)