diff options
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java index 4ac3bd6a..c6735130 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java @@ -44,18 +44,23 @@ public class EipStatus extends Observable implements VpnStatus.StateListener { @Override public void updateState(final String state, final String logmessage, final int localizedResId, final VpnStatus.ConnectionStatus level) { + updateStatus(state, logmessage, localizedResId, level); + if(isConnected() || isDisconnected()) { + setConnectedOrDisconnected(); + if(isDisconnected()) + VoidVpnService.stop(); + } else if(isConnecting()) + setConnecting(); + Log.d(TAG, "update state with level " + level); + } + + private void updateStatus(final String state, final String logmessage, final int localizedResId, final VpnStatus.ConnectionStatus level) { current_status = getInstance(); current_status.setState(state); current_status.setLogMessage(logmessage); current_status.setLocalizedResId(localizedResId); current_status.setLevel(level); current_status.setChanged(); - if(isConnected() || isDisconnected()) - setConnectedOrDisconnected(); - else if(isConnecting()) - setConnecting(); - Log.d(TAG, "update state with level " + level); - current_status.notifyObservers(); } public boolean wantsToDisconnect() { |