summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-08-23 15:01:19 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-08-29 11:13:17 +0000
commit382b4ba0498fa0c0e7593dc9608f15e37dc1c50a (patch)
tree1aa44fd7a7dda628909ace86eb6a4811ab5622f4 /android
parent2d045a514ff31857884da001a953150d17909e2d (diff)
downloadmullvadvpn-382b4ba0498fa0c0e7593dc9608f15e37dc1c50a.tar.xz
mullvadvpn-382b4ba0498fa0c0e7593dc9608f15e37dc1c50a.zip
Start activity to request VPN permission if needed
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt8
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt6
2 files changed, 13 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt
index d0900cee15..9aa1f066e6 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt
@@ -31,6 +31,10 @@ import net.mullvad.mullvadvpn.relaylist.RelayItem
import net.mullvad.mullvadvpn.relaylist.RelayList
class MainActivity : FragmentActivity() {
+ companion object {
+ val KEY_SHOULD_CONNECT = "should_connect"
+ }
+
var daemon = CompletableDeferred<MullvadDaemon>()
private set
var service = CompletableDeferred<MullvadVpnService.LocalBinder>()
@@ -78,6 +82,10 @@ class MainActivity : FragmentActivity() {
appVersionInfoCache.onCreate()
connectionProxy.mainActivity = this
+
+ if (intent.getBooleanExtra(KEY_SHOULD_CONNECT, false)) {
+ connectionProxy.connect()
+ }
}
override fun onStart() {
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 5aef547a02..fe7e2bf308 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
@@ -1,6 +1,7 @@
package net.mullvad.mullvadvpn.dataproxy
import android.content.Context
+import android.content.Intent
import android.net.VpnService
import kotlinx.coroutines.launch
@@ -121,7 +122,10 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>)
if (activity != null) {
activity.requestVpnPermission(intent)
} else {
- vpnPermission.complete(false)
+ val activityIntent = Intent(context, MainActivity::class.java)
+ .putExtra(MainActivity.KEY_SHOULD_CONNECT, true)
+
+ context.startActivity(activityIntent)
}
}
}