summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-01 08:34:09 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-01 08:34:09 -0300
commit6d6d74df30a031ce8a8db2602485917ac6ca66da (patch)
tree145b7c8083be620ff8c7274b613e14caf58aeb14 /android
parent8f6c45227f4d9af8bf2dd9a39a7adb86d4fa8be6 (diff)
parent2185ba222098cca1f802c6d3e3acb9a4a3f49f2d (diff)
downloadmullvadvpn-6d6d74df30a031ce8a8db2602485917ac6ca66da.tar.xz
mullvadvpn-6d6d74df30a031ce8a8db2602485917ac6ca66da.zip
Merge branch 'broadcast-relay-location'
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt24
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt4
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt14
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/HeaderBar.kt14
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt8
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt14
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt14
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt18
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt24
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt9
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelStateTransition.kt9
11 files changed, 76 insertions, 76 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt
index faf4a61521..a430ab84c7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectActionButton.kt
@@ -3,19 +3,19 @@ package net.mullvad.mullvadvpn
import android.view.View
import android.widget.Button
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class ConnectActionButton(val parentView: View) {
private val button: Button = parentView.findViewById(R.id.action_button)
- var state: TunnelStateTransition = TunnelStateTransition.Disconnected()
+ var state: TunnelState = TunnelState.Disconnected()
set(value) {
when (value) {
- is TunnelStateTransition.Disconnected -> disconnected()
- is TunnelStateTransition.Disconnecting -> disconnected()
- is TunnelStateTransition.Connecting -> connecting()
- is TunnelStateTransition.Connected -> connected()
- is TunnelStateTransition.Blocked -> connected()
+ is TunnelState.Disconnected -> disconnected()
+ is TunnelState.Disconnecting -> disconnected()
+ is TunnelState.Connecting -> connecting()
+ is TunnelState.Connected -> connected()
+ is TunnelState.Blocked -> connected()
}
field = value
@@ -31,11 +31,11 @@ class ConnectActionButton(val parentView: View) {
private fun action() {
when (state) {
- is TunnelStateTransition.Disconnected -> onConnect?.invoke()
- is TunnelStateTransition.Disconnecting -> onConnect?.invoke()
- is TunnelStateTransition.Connecting -> onCancel?.invoke()
- is TunnelStateTransition.Connected -> onDisconnect?.invoke()
- is TunnelStateTransition.Blocked -> onDisconnect?.invoke()
+ is TunnelState.Disconnected -> onConnect?.invoke()
+ is TunnelState.Disconnecting -> onConnect?.invoke()
+ is TunnelState.Connecting -> onCancel?.invoke()
+ is TunnelState.Connected -> onDisconnect?.invoke()
+ is TunnelState.Blocked -> onDisconnect?.invoke()
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt
index 53e00a4c31..9a7c50a9af 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt
@@ -16,7 +16,7 @@ import android.widget.ImageButton
import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy
import net.mullvad.mullvadvpn.dataproxy.LocationInfoCache
import net.mullvad.mullvadvpn.dataproxy.RelayListListener
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class ConnectFragment : Fragment() {
private lateinit var actionButton: ConnectActionButton
@@ -104,7 +104,7 @@ class ConnectFragment : Fragment() {
super.onDestroyView()
}
- private fun updateView(uiState: TunnelStateTransition) {
+ private fun updateView(uiState: TunnelState) {
val realState = connectionProxy.state
locationInfoCache.state = realState
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt
index 652eae4da5..fda8eee4bc 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectionStatus.kt
@@ -4,7 +4,7 @@ import android.content.Context
import android.view.View
import android.widget.TextView
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class ConnectionStatus(val parentView: View, val context: Context) {
private val spinner: View = parentView.findViewById(R.id.connecting_spinner)
@@ -14,13 +14,13 @@ class ConnectionStatus(val parentView: View, val context: Context) {
private val connectingTextColor = context.getColor(R.color.white)
private val connectedTextColor = context.getColor(R.color.green)
- fun setState(state: TunnelStateTransition) {
+ fun setState(state: TunnelState) {
when (state) {
- is TunnelStateTransition.Disconnecting -> disconnected()
- is TunnelStateTransition.Disconnected -> disconnected()
- is TunnelStateTransition.Connecting -> connecting()
- is TunnelStateTransition.Connected -> connected()
- is TunnelStateTransition.Blocked -> connected()
+ is TunnelState.Disconnecting -> disconnected()
+ is TunnelState.Disconnected -> disconnected()
+ is TunnelState.Connecting -> connecting()
+ is TunnelState.Connected -> connected()
+ is TunnelState.Blocked -> connected()
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/HeaderBar.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/HeaderBar.kt
index 6988dae839..f965d82711 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/HeaderBar.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/HeaderBar.kt
@@ -3,7 +3,7 @@ package net.mullvad.mullvadvpn
import android.content.Context
import android.view.View
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class HeaderBar(val parentView: View, val context: Context) {
private val headerBar: View = parentView.findViewById(R.id.header_bar)
@@ -11,13 +11,13 @@ class HeaderBar(val parentView: View, val context: Context) {
private val securedColor = context.getColor(R.color.green)
private val unsecuredColor = context.getColor(R.color.red)
- fun setState(state: TunnelStateTransition) {
+ fun setState(state: TunnelState) {
when (state) {
- is TunnelStateTransition.Disconnected -> unsecured()
- is TunnelStateTransition.Connecting -> secured()
- is TunnelStateTransition.Connected -> secured()
- is TunnelStateTransition.Disconnecting -> secured()
- is TunnelStateTransition.Blocked -> secured()
+ is TunnelState.Disconnected -> unsecured()
+ is TunnelState.Connecting -> secured()
+ is TunnelState.Connected -> secured()
+ is TunnelState.Disconnecting -> secured()
+ is TunnelState.Blocked -> secured()
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt
index 7033f13de7..eacedcdb69 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt
@@ -6,7 +6,7 @@ import net.mullvad.mullvadvpn.model.PublicKey
import net.mullvad.mullvadvpn.model.RelayList
import net.mullvad.mullvadvpn.model.RelaySettingsUpdate
import net.mullvad.mullvadvpn.model.Settings
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class MullvadDaemon(val vpnService: MullvadVpnService) {
init {
@@ -16,7 +16,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
var onRelayListChange: ((RelayList) -> Unit)? = null
var onSettingsChange: ((Settings) -> Unit)? = null
- var onTunnelStateChange: ((TunnelStateTransition) -> Unit)? = null
+ var onTunnelStateChange: ((TunnelState) -> Unit)? = null
external fun connect()
external fun disconnect()
@@ -25,7 +25,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
external fun getCurrentLocation(): GeoIpLocation?
external fun getRelayLocations(): RelayList
external fun getSettings(): Settings
- external fun getState(): TunnelStateTransition
+ external fun getState(): TunnelState
external fun getWireguardKey(): PublicKey?
external fun setAccount(accountToken: String?)
external fun updateRelaySettings(update: RelaySettingsUpdate)
@@ -40,7 +40,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
onSettingsChange?.invoke(settings)
}
- private fun notifyTunnelStateEvent(event: TunnelStateTransition) {
+ private fun notifyTunnelStateEvent(event: TunnelState) {
onTunnelStateChange?.invoke(event)
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
index 7789d57435..1af739dcc6 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
@@ -2,19 +2,19 @@ package net.mullvad.mullvadvpn
import android.view.View
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class NotificationBanner(val parentView: View) {
private val banner: View = parentView.findViewById(R.id.notification_banner)
private var visible = false
- fun setState(state: TunnelStateTransition) {
+ fun setState(state: TunnelState) {
when (state) {
- is TunnelStateTransition.Disconnecting -> hide()
- is TunnelStateTransition.Disconnected -> hide()
- is TunnelStateTransition.Connecting -> show()
- is TunnelStateTransition.Connected -> hide()
- is TunnelStateTransition.Blocked -> show()
+ is TunnelState.Disconnecting -> hide()
+ is TunnelState.Disconnected -> hide()
+ is TunnelState.Connecting -> show()
+ is TunnelState.Connected -> hide()
+ is TunnelState.Blocked -> show()
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt
index 4c89bc259e..d35374b29e 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SwitchLocationButton.kt
@@ -9,7 +9,7 @@ import android.graphics.drawable.Drawable
import android.view.View
import android.widget.Button
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
import net.mullvad.mullvadvpn.relaylist.RelayItem
class SwitchLocationButton(val parentView: View) {
@@ -24,7 +24,7 @@ class SwitchLocationButton(val parentView: View) {
update()
}
- var state: TunnelStateTransition = TunnelStateTransition.Disconnected()
+ var state: TunnelState = TunnelState.Disconnected()
set(value) {
field = value
update()
@@ -44,11 +44,11 @@ class SwitchLocationButton(val parentView: View) {
updateJob?.cancel()
updateJob = GlobalScope.launch(Dispatchers.Main) {
when (state) {
- is TunnelStateTransition.Disconnected -> showLocation()
- is TunnelStateTransition.Disconnecting -> showLocation()
- is TunnelStateTransition.Connecting -> showLabel()
- is TunnelStateTransition.Connected -> showLabel()
- is TunnelStateTransition.Blocked -> showLocation()
+ is TunnelState.Disconnected -> showLocation()
+ is TunnelState.Disconnecting -> showLocation()
+ is TunnelState.Connecting -> showLabel()
+ is TunnelState.Connected -> showLabel()
+ is TunnelState.Blocked -> showLocation()
}
}
}
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 fb74e70160..8922344de5 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
@@ -6,7 +6,7 @@ import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import net.mullvad.mullvadvpn.MainActivity
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
class ConnectionProxy(val parentActivity: MainActivity) {
val daemon = parentActivity.daemon
@@ -16,27 +16,27 @@ class ConnectionProxy(val parentActivity: MainActivity) {
private val attachListenerJob = attachListener()
private val fetchInitialStateJob = fetchInitialState()
- private var realState: TunnelStateTransition? = null
+ private var realState: TunnelState? = null
set(value) {
field = value
- uiState = value ?: TunnelStateTransition.Disconnected()
+ uiState = value ?: TunnelState.Disconnected()
}
- val state: TunnelStateTransition
+ val state: TunnelState
get() {
- return realState ?: TunnelStateTransition.Disconnected()
+ return realState ?: TunnelState.Disconnected()
}
- var uiState: TunnelStateTransition = TunnelStateTransition.Disconnected()
+ var uiState: TunnelState = TunnelState.Disconnected()
private set(value) {
field = value
onUiStateChange?.invoke(value)
}
- var onUiStateChange: ((TunnelStateTransition) -> Unit)? = null
+ var onUiStateChange: ((TunnelState) -> Unit)? = null
fun connect() {
- uiState = TunnelStateTransition.Connecting()
+ uiState = TunnelState.Connecting()
cancelActiveAction()
@@ -50,7 +50,7 @@ class ConnectionProxy(val parentActivity: MainActivity) {
}
fun disconnect() {
- uiState = TunnelStateTransition.Disconnecting()
+ uiState = TunnelState.Disconnecting()
cancelActiveAction()
activeAction = GlobalScope.launch(Dispatchers.Default) {
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 4f5684b157..9b39853d25 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/LocationInfoCache.kt
@@ -8,7 +8,7 @@ import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import net.mullvad.mullvadvpn.model.GeoIpLocation
-import net.mullvad.mullvadvpn.model.TunnelStateTransition
+import net.mullvad.mullvadvpn.model.TunnelState
import net.mullvad.mullvadvpn.MullvadDaemon
class LocationInfoCache(val daemon: Deferred<MullvadDaemon>) {
@@ -27,16 +27,16 @@ class LocationInfoCache(val daemon: Deferred<MullvadDaemon>) {
notifyNewLocation()
}
- var state: TunnelStateTransition = TunnelStateTransition.Disconnected()
+ var state: TunnelState = TunnelState.Disconnected()
set(value) {
field = value
when (value) {
- is TunnelStateTransition.Disconnected -> fetchLocation()
- is TunnelStateTransition.Connecting -> fetchLocation()
- is TunnelStateTransition.Connected -> fetchLocation()
- is TunnelStateTransition.Disconnecting -> location = lastKnownRealLocation
- is TunnelStateTransition.Blocked -> location = null
+ is TunnelState.Disconnected -> fetchLocation()
+ is TunnelState.Connecting -> fetchLocation()
+ is TunnelState.Connected -> fetchLocation()
+ is TunnelState.Disconnecting -> location = lastKnownRealLocation
+ is TunnelState.Blocked -> location = null
}
}
@@ -64,12 +64,12 @@ class LocationInfoCache(val daemon: Deferred<MullvadDaemon>) {
if (newLocation != null && state == initialState) {
when (state) {
- is TunnelStateTransition.Disconnected -> {
+ is TunnelState.Disconnected -> {
lastKnownRealLocation = newLocation
location = newLocation
}
- is TunnelStateTransition.Connecting -> location = newLocation
- is TunnelStateTransition.Connected -> location = newLocation
+ is TunnelState.Connecting -> location = newLocation
+ is TunnelState.Connected -> location = newLocation
}
}
}
@@ -82,7 +82,7 @@ class LocationInfoCache(val daemon: Deferred<MullvadDaemon>) {
private fun shouldRetryFetch(): Boolean {
val state = this.state
- return state is TunnelStateTransition.Disconnected ||
- state is TunnelStateTransition.Connected
+ return state is TunnelState.Disconnected ||
+ state is TunnelState.Connected
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
new file mode 100644
index 0000000000..006de053c8
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
@@ -0,0 +1,9 @@
+package net.mullvad.mullvadvpn.model
+
+sealed class TunnelState() {
+ class Disconnected() : TunnelState()
+ class Connecting() : TunnelState()
+ class Connected() : TunnelState()
+ class Disconnecting() : TunnelState()
+ class Blocked() : TunnelState()
+}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelStateTransition.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelStateTransition.kt
deleted file mode 100644
index ec65037e42..0000000000
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelStateTransition.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package net.mullvad.mullvadvpn.model
-
-sealed class TunnelStateTransition() {
- class Disconnected() : TunnelStateTransition()
- class Connecting() : TunnelStateTransition()
- class Connected() : TunnelStateTransition()
- class Disconnecting() : TunnelStateTransition()
- class Blocked() : TunnelStateTransition()
-}