diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-16 01:06:16 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-16 11:21:31 +0000 |
| commit | 26b9d66572a8d0a1c088bb54eda2a387fb96ae47 (patch) | |
| tree | 121145814bcb050b428e23242994bd6b89281824 /android/src | |
| parent | 105ae2686a04abc3cffba5a54c27efcdd0ec9340 (diff) | |
| download | mullvadvpn-26b9d66572a8d0a1c088bb54eda2a387fb96ae47.tar.xz mullvadvpn-26b9d66572a8d0a1c088bb54eda2a387fb96ae47.zip | |
Refactor state initialization
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt | 21 |
1 files changed, 9 insertions, 12 deletions
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 2c46e34292..db19a80095 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt @@ -25,18 +25,15 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>) private val attachListenerJob = attachListener() private val fetchInitialStateJob = fetchInitialState() - private var realState: TunnelState? = null + private val initialState: TunnelState = TunnelState.Disconnected() + + var state = initialState set(value) { field = value - uiState = value ?: TunnelState.Disconnected() - } - - val state: TunnelState - get() { - return realState ?: TunnelState.Disconnected() + uiState = value } - var uiState: TunnelState = TunnelState.Disconnected() + var uiState = initialState private set(value) { field = value onUiStateChange.notify(value) @@ -128,11 +125,11 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>) } private fun fetchInitialState() = GlobalScope.launch(Dispatchers.Default) { - val initialState = daemon.await().getState() + val currentState = daemon.await().getState() synchronized(this) { - if (realState == null) { - realState = initialState + if (state === initialState) { + state = currentState } } } @@ -140,7 +137,7 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>) private fun attachListener() = GlobalScope.launch(Dispatchers.Default) { daemon.await().onTunnelStateChange = { newState -> synchronized(this) { - realState = newState + state = newState } } } |
