summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-21 14:27:04 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-21 14:27:04 -0300
commitfd45f7d3edd17bbe514710be8f7317c7524d9f41 (patch)
tree50e56943dac9bd5b78da848875a9beff4ac57ae0 /android
parent73a47f517a0d85efd80be5c1cba1299856910665 (diff)
parentf66f39b9b29421b5fd02605f07b585ef3440c3b4 (diff)
downloadmullvadvpn-fd45f7d3edd17bbe514710be8f7317c7524d9f41.tar.xz
mullvadvpn-fd45f7d3edd17bbe514710be8f7317c7524d9f41.zip
Merge branch 'talpid-java-package'
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/LocationInfo.kt4
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt31
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt4
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt32
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/Endpoint.kt)2
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/TransportProtocol.kt)2
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelEndpoint.kt)2
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/InetNetwork.kt)2
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunConfig.kt)2
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/ActionAfterDisconnect.kt)2
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/tunnel/BlockReason.kt (renamed from android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt)9
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt8
19 files changed, 64 insertions, 54 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt
index b778f15774..ae731b4161 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt
@@ -2,8 +2,8 @@ package net.mullvad.mullvadvpn
import android.view.View
import android.widget.Button
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
import net.mullvad.mullvadvpn.model.TunnelState
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
class ConnectActionButton(val parentView: View) {
private val button: Button = parentView.findViewById(R.id.action_button)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt
index a56852bc59..17f44a64da 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt
@@ -3,8 +3,8 @@ package net.mullvad.mullvadvpn
import android.content.res.Resources
import android.view.View
import android.widget.TextView
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
import net.mullvad.mullvadvpn.model.TunnelState
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
class ConnectionStatus(val parentView: View, val resources: Resources) {
private val spinner: View = parentView.findViewById(R.id.connecting_spinner)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt
index d317274f09..c99d8d7a0d 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ForegroundNotificationManager.kt
@@ -12,8 +12,8 @@ import android.content.IntentFilter
import android.os.Build
import android.support.v4.app.NotificationCompat
import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
import net.mullvad.mullvadvpn.model.TunnelState
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
val CHANNEL_ID = "vpn_tunnel_status"
val FOREGROUND_NOTIFICATION_ID: Int = 1
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/LocationInfo.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/LocationInfo.kt
index 113b416195..9278bb315f 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/LocationInfo.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/LocationInfo.kt
@@ -3,10 +3,10 @@ package net.mullvad.mullvadvpn
import android.content.Context
import android.view.View
import android.widget.TextView
-import net.mullvad.mullvadvpn.model.Endpoint
import net.mullvad.mullvadvpn.model.GeoIpLocation
-import net.mullvad.mullvadvpn.model.TransportProtocol
import net.mullvad.mullvadvpn.model.TunnelState
+import net.mullvad.talpid.net.Endpoint
+import net.mullvad.talpid.net.TransportProtocol
class LocationInfo(val parentView: View, val context: Context) {
private val country: TextView = parentView.findViewById(R.id.country)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt
index 388e4c0a5d..67fe711a6c 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt
@@ -1,7 +1,6 @@
package net.mullvad.mullvadvpn
import android.content.Intent
-import android.net.VpnService
import android.os.Binder
import android.os.IBinder
import kotlinx.coroutines.CompletableDeferred
@@ -11,9 +10,9 @@ import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.async
import kotlinx.coroutines.runBlocking
import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy
-import net.mullvad.mullvadvpn.model.TunConfig
+import net.mullvad.talpid.TalpidVpnService
-class MullvadVpnService : VpnService() {
+class MullvadVpnService : TalpidVpnService() {
private val binder = LocalBinder()
private val created = CompletableDeferred<Unit>()
@@ -50,32 +49,6 @@ class MullvadVpnService : VpnService() {
created.cancel()
}
- fun createTun(config: TunConfig): Int {
- val builder = Builder().apply {
- for (address in config.addresses) {
- addAddress(address, 32)
- }
-
- for (dnsServer in config.dnsServers) {
- addDnsServer(dnsServer)
- }
-
- for (route in config.routes) {
- addRoute(route.address, route.prefixLength.toInt())
- }
-
- setMtu(config.mtu)
- }
-
- val vpnInterface = builder.establish()
-
- return vpnInterface.detachFd()
- }
-
- fun bypass(socket: Int): Boolean {
- return protect(socket)
- }
-
inner class LocalBinder : Binder() {
val daemon
get() = this@MullvadVpnService.daemon
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
index 1a3d7afb43..352fe4dd71 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
@@ -13,12 +13,12 @@ import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import net.mullvad.mullvadvpn.dataproxy.AppVersionInfoCache
import net.mullvad.mullvadvpn.dataproxy.WwwAuthTokenRetriever
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
-import net.mullvad.mullvadvpn.model.BlockReason
import net.mullvad.mullvadvpn.model.KeygenEvent
import net.mullvad.mullvadvpn.model.KeygenFailure
-import net.mullvad.mullvadvpn.model.ParameterGenerationError
import net.mullvad.mullvadvpn.model.TunnelState
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
+import net.mullvad.talpid.tunnel.BlockReason
+import net.mullvad.talpid.tunnel.ParameterGenerationError
class NotificationBanner(
val parentView: View,
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt
index 89a79ba839..f6561e4da1 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt
@@ -10,9 +10,9 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
import net.mullvad.mullvadvpn.model.TunnelState
import net.mullvad.mullvadvpn.relaylist.RelayItem
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
class SwitchLocationButton(val parentView: View, val resources: Resources) {
private val button: Button = parentView.findViewById(R.id.switch_location)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
index c26a5bb5e6..06c594ed1c 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
@@ -12,9 +12,9 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import net.mullvad.mullvadvpn.MainActivity
import net.mullvad.mullvadvpn.MullvadDaemon
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
import net.mullvad.mullvadvpn.model.TunnelState
import net.mullvad.mullvadvpn.util.EventNotifier
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
val ANTICIPATED_STATE_TIMEOUT_MS = 1500L
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt
index e1082d81bc..94444c5d46 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt
@@ -7,12 +7,12 @@ import kotlinx.coroutines.Job
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
import net.mullvad.mullvadvpn.MullvadDaemon
-import net.mullvad.mullvadvpn.model.ActionAfterDisconnect
import net.mullvad.mullvadvpn.model.GeoIpLocation
import net.mullvad.mullvadvpn.model.TunnelState
import net.mullvad.mullvadvpn.relaylist.Relay
import net.mullvad.mullvadvpn.relaylist.RelayCity
import net.mullvad.mullvadvpn.relaylist.RelayCountry
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
class LocationInfoCache(
val daemon: Deferred<MullvadDaemon>,
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
index 33a40f7196..040c4997c9 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
@@ -1,5 +1,9 @@
package net.mullvad.mullvadvpn.model
+import net.mullvad.talpid.net.TunnelEndpoint
+import net.mullvad.talpid.tunnel.ActionAfterDisconnect
+import net.mullvad.talpid.tunnel.BlockReason
+
sealed class TunnelState() {
class Disconnected() : TunnelState()
class Connecting(val endpoint: TunnelEndpoint?, val location: GeoIpLocation?) : TunnelState()
diff --git a/android/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt b/android/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt
new file mode 100644
index 0000000000..96de4082cc
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/talpid/TalpidVpnService.kt
@@ -0,0 +1,32 @@
+package net.mullvad.talpid
+
+import android.net.VpnService
+import net.mullvad.talpid.tun_provider.TunConfig
+
+open class TalpidVpnService : VpnService() {
+ fun createTun(config: TunConfig): Int {
+ val builder = Builder().apply {
+ for (address in config.addresses) {
+ addAddress(address, 32)
+ }
+
+ for (dnsServer in config.dnsServers) {
+ addDnsServer(dnsServer)
+ }
+
+ for (route in config.routes) {
+ addRoute(route.address, route.prefixLength.toInt())
+ }
+
+ setMtu(config.mtu)
+ }
+
+ val vpnInterface = builder.establish()
+
+ return vpnInterface.detachFd()
+ }
+
+ fun bypass(socket: Int): Boolean {
+ return protect(socket)
+ }
+}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Endpoint.kt b/android/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt
index bf1ca2cad4..7baeb66161 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Endpoint.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/net/Endpoint.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.net
import java.net.InetSocketAddress
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TransportProtocol.kt b/android/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt
index 185461cda7..d4372f54ed 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TransportProtocol.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/net/TransportProtocol.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.net
sealed class TransportProtocol {
class Tcp : TransportProtocol()
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelEndpoint.kt b/android/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt
index f064218215..138ab57cc6 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelEndpoint.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/net/TunnelEndpoint.kt
@@ -1,3 +1,3 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.net
data class TunnelEndpoint(val endpoint: Endpoint)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/InetNetwork.kt b/android/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt
index eb3030880f..9b133d352b 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/InetNetwork.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/tun_provider/InetNetwork.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.tun_provider
import java.net.InetAddress
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunConfig.kt b/android/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt
index 929e03b99a..fe8d0f55c7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunConfig.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/tun_provider/TunConfig.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.tun_provider
import java.net.InetAddress
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/ActionAfterDisconnect.kt b/android/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt
index f39ba030fc..c352ab06ad 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/ActionAfterDisconnect.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/tunnel/ActionAfterDisconnect.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.tunnel
sealed class ActionAfterDisconnect {
class Nothing : ActionAfterDisconnect()
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt b/android/src/main/kotlin/net/mullvad/talpid/tunnel/BlockReason.kt
index ae4d392fc2..758e81dfba 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/tunnel/BlockReason.kt
@@ -1,4 +1,4 @@
-package net.mullvad.mullvadvpn.model
+package net.mullvad.talpid.tunnel
sealed class BlockReason {
class AuthFailed(val reason: String?) : BlockReason()
@@ -10,10 +10,3 @@ sealed class BlockReason {
class IsOffline : BlockReason()
class TapAdapterProblem : BlockReason()
}
-
-sealed class ParameterGenerationError {
- class NoMatchingRelay : ParameterGenerationError()
- class NoMatchingBridgeRelay : ParameterGenerationError()
- class NoWireguardKey : ParameterGenerationError()
- class CustomTunnelHostResultionError : ParameterGenerationError()
-}
diff --git a/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt b/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt
new file mode 100644
index 0000000000..92547a02b4
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt
@@ -0,0 +1,8 @@
+package net.mullvad.talpid.tunnel
+
+sealed class ParameterGenerationError {
+ class NoMatchingRelay : ParameterGenerationError()
+ class NoMatchingBridgeRelay : ParameterGenerationError()
+ class NoWireguardKey : ParameterGenerationError()
+ class CustomTunnelHostResultionError : ParameterGenerationError()
+}