diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-16 20:00:46 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-21 15:02:30 +0000 |
| commit | f29892acd6d0d3bc852f91863ef0661af1ee8453 (patch) | |
| tree | 690be7742a05fd1dc145edba937fb11e2de6477d /android | |
| parent | 79b0e80f63d6926d4ebf52b83f7acdfb5e10683c (diff) | |
| download | mullvadvpn-f29892acd6d0d3bc852f91863ef0661af1ee8453.tar.xz mullvadvpn-f29892acd6d0d3bc852f91863ef0661af1ee8453.zip | |
Change conditions when reconnect is anticipated
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/ConnectionProxy.kt | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ConnectionProxy.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ConnectionProxy.kt index bc89cc6c1e..eae5fa0219 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ConnectionProxy.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ConnectionProxy.kt @@ -109,15 +109,26 @@ class ConnectionProxy(val context: Context, val daemon: MullvadDaemon) { synchronized(this) { val currentState = uiState - if (currentState is TunnelState.Disconnecting && - currentState.actionAfterDisconnect == ActionAfterDisconnect.Reconnect - ) { - return false - } else { + val willReconnect = when (currentState) { + is TunnelState.Disconnected -> false + is TunnelState.Disconnecting -> { + when (currentState.actionAfterDisconnect) { + ActionAfterDisconnect.Nothing -> false + ActionAfterDisconnect.Reconnect -> false + ActionAfterDisconnect.Block -> true + } + } + is TunnelState.Connecting -> true + is TunnelState.Connected -> true + is TunnelState.Error -> true + } + + if (willReconnect) { scheduleToResetAnticipatedState() uiState = TunnelState.Disconnecting(ActionAfterDisconnect.Reconnect) - return true } + + return willReconnect } } |
