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.java29
1 files changed, 21 insertions, 8 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 ee14f2db..82c3ceb8 100644
--- a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java
+++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java
@@ -29,7 +29,6 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
private static VpnStatus.ConnectionStatus level = VpnStatus.ConnectionStatus.LEVEL_NOTCONNECTED;
private static boolean wants_to_disconnect = false;
private static boolean is_disconnecting = false;
- private static boolean is_connecting = false;
private String state, log_message;
private int localized_res_id;
@@ -55,6 +54,8 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
current_status.setChanged();
if(isConnected() || isDisconnected())
setConnectedOrDisconnected();
+ else if(isConnecting())
+ setConnecting();
Log.d(TAG, "update state with level " + level);
current_status.notifyObservers();
}
@@ -63,14 +64,17 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
return is_disconnecting;
}
- public boolean isConnecting() {
- return is_connecting;
- }
-
public boolean wantsToDisconnect() {
return wants_to_disconnect;
}
+ public boolean isConnecting() {
+ return
+ !isConnected() &&
+ !isDisconnected() &&
+ !isPaused();
+ }
+
public boolean isConnected() {
return level == VpnStatus.ConnectionStatus.LEVEL_CONNECTED;
}
@@ -79,14 +83,19 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
return level == VpnStatus.ConnectionStatus.LEVEL_NOTCONNECTED;
}
+ public boolean isPaused() {
+ return level == VpnStatus.ConnectionStatus.LEVEL_VPNPAUSED;
+ }
+
public void setConnecting() {
- is_connecting = true;
is_disconnecting = false;
wants_to_disconnect = false;
+ current_status.setChanged();
+ current_status.notifyObservers();
}
public void setConnectedOrDisconnected() {
- is_connecting = false;
+ Log.d(TAG, "setConnectedOrDisconnected()");
is_disconnecting = false;
wants_to_disconnect = false;
current_status.setChanged();
@@ -95,7 +104,6 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
public void setDisconnecting() {
is_disconnecting = true;
- is_connecting = false;
wants_to_disconnect = false;
}
@@ -139,4 +147,9 @@ public class EipStatus extends Observable implements VpnStatus.StateListener {
this.level = level;
}
+ @Override
+ public String toString() {
+ return "State: " + state + " Level: " + level.toString();
+ }
+
}