summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java13
1 files changed, 11 insertions, 2 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 c58650ba..ee14f2db 100644
--- a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java
+++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java
@@ -53,6 +53,8 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
current_status.setLocalizedResId(localizedResId);
current_status.setLevel(level);
current_status.setChanged();
+ if(isConnected() || isDisconnected())
+ setConnectedOrDisconnected();
Log.d(TAG, "update state with level " + level);
current_status.notifyObservers();
}
@@ -74,7 +76,7 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
}
public boolean isDisconnected() {
- return level == VpnStatus.ConnectionStatus.LEVEL_NOTCONNECTED || level == VpnStatus.ConnectionStatus.LEVEL_AUTH_FAILED;
+ return level == VpnStatus.ConnectionStatus.LEVEL_NOTCONNECTED;
}
public void setConnecting() {
@@ -83,11 +85,18 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
wants_to_disconnect = false;
}
+ public void setConnectedOrDisconnected() {
+ is_connecting = false;
+ is_disconnecting = false;
+ wants_to_disconnect = false;
+ current_status.setChanged();
+ current_status.notifyObservers();
+ }
+
public void setDisconnecting() {
is_disconnecting = true;
is_connecting = false;
wants_to_disconnect = false;
- level = VpnStatus.ConnectionStatus.UNKNOWN_LEVEL; // Wait for the decision of the user
}
public void setWantsToDisconnect() {