diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt | 8 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt | 6 |
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) } } } |
