summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt11
1 files changed, 10 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt
index eae0ed75f2..4a1849318c 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt
@@ -19,6 +19,7 @@ import android.widget.ViewSwitcher
import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy
import net.mullvad.mullvadvpn.dataproxy.RelayListListener
import net.mullvad.mullvadvpn.model.Constraint
+import net.mullvad.mullvadvpn.model.KeygenEvent
import net.mullvad.mullvadvpn.model.LocationConstraint
import net.mullvad.mullvadvpn.model.RelaySettingsUpdate
import net.mullvad.mullvadvpn.relaylist.RelayItem
@@ -40,7 +41,7 @@ class SelectLocationFragment : Fragment() {
init {
relayListAdapter.onSelect = { relayItem ->
updateLocationConstraint(relayItem)
- connectionProxy.connect()
+ maybeConnect()
close()
}
}
@@ -123,4 +124,12 @@ class SelectLocationFragment : Fragment() {
relayListContainer.showNext()
}
}
+
+ private fun maybeConnect() {
+ val keyStatus = parentActivity.keyStatusListener.keyStatus
+
+ if (keyStatus == null || keyStatus is KeygenEvent.NewKey) {
+ connectionProxy.connect()
+ }
+ }
}