diff options
| -rw-r--r-- | ios/MullvadVPN/TunnelManager/MapConnectionStatusOperation.swift | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ios/MullvadVPN/TunnelManager/MapConnectionStatusOperation.swift b/ios/MullvadVPN/TunnelManager/MapConnectionStatusOperation.swift index d753f5e762..5d61428497 100644 --- a/ios/MullvadVPN/TunnelManager/MapConnectionStatusOperation.swift +++ b/ios/MullvadVPN/TunnelManager/MapConnectionStatusOperation.swift @@ -95,12 +95,15 @@ class MapConnectionStatusOperation: AsyncOperation { break default: interactor.updateTunnelStatus { tunnelStatus in - let isNetworkReachable = tunnelStatus.observedState.connectionState?.isNetworkReachable ?? false - - tunnelStatus = TunnelStatus() - tunnelStatus.state = isNetworkReachable - ? .disconnecting(.nothing) - : .waitingForConnectivity(.noNetwork) + // Avoid displaying waiting for connectivity banners if the tunnel in a blocked state when disconnecting + if tunnelStatus.observedState.blockedState != nil { + tunnelStatus.state = .disconnecting(.nothing) + } else { + let isNetworkReachable = tunnelStatus.observedState.connectionState?.isNetworkReachable ?? false + tunnelStatus.state = isNetworkReachable + ? .disconnecting(.nothing) + : .waitingForConnectivity(.noNetwork) + } } } } |
