summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java25
1 files changed, 9 insertions, 16 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java b/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java
index f17fe28e..d9a6121b 100644
--- a/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java
+++ b/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java
@@ -25,6 +25,7 @@ import se.leap.bitmaskclient.utils.PreferenceHelper;
import static android.app.Activity.RESULT_CANCELED;
import static android.content.Intent.CATEGORY_DEFAULT;
import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_CONNECTING_NO_SERVER_REPLY_YET;
+import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_NOTCONNECTED;
import static se.leap.bitmaskclient.Constants.BROADCAST_EIP_EVENT;
import static se.leap.bitmaskclient.Constants.BROADCAST_GATEWAY_SETUP_OBSERVER_EVENT;
import static se.leap.bitmaskclient.Constants.BROADCAST_PROVIDER_API_EVENT;
@@ -101,8 +102,6 @@ class EipSetupObserver extends BroadcastReceiver implements VpnStatus.StateListe
@Override
public void onReceive(Context context, Intent intent) {
- Log.d(TAG, "received Broadcast");
-
String action = intent.getAction();
if (action == null) {
return;
@@ -124,8 +123,6 @@ class EipSetupObserver extends BroadcastReceiver implements VpnStatus.StateListe
}
private void handleProviderApiEvent(Intent intent) {
-
-
int resultCode = intent.getIntExtra(BROADCAST_RESULT_CODE, RESULT_CANCELED);
Bundle resultData = intent.getParcelableExtra(BROADCAST_RESULT_KEY);
if (resultData == null) {
@@ -145,24 +142,23 @@ class EipSetupObserver extends BroadcastReceiver implements VpnStatus.StateListe
case CORRECTLY_UPDATED_INVALID_VPN_CERTIFICATE:
provider = resultData.getParcelable(PROVIDER_KEY);
ProviderObservable.getInstance().updateProvider(provider);
+ PreferenceHelper.storeProviderInPreferences(preferences, provider);
EipCommand.startVPN(context.getApplicationContext(), true);
break;
default:
break;
}
-
-
for (EipSetupListener listener : listeners) {
listener.handleProviderApiEvent(intent);
}
-
}
private void handleEipEvent(Intent intent) {
int resultCode = intent.getIntExtra(BROADCAST_RESULT_CODE, RESULT_CANCELED);
- String eipRequest = intent.getStringExtra(EIP_REQUEST);
+ Bundle result = intent.getBundleExtra(BROADCAST_RESULT_KEY);
+ String eipRequest = result.getString(EIP_REQUEST);
if (eipRequest == null) {
return;
}
@@ -174,10 +170,6 @@ class EipSetupObserver extends BroadcastReceiver implements VpnStatus.StateListe
finishGatewaySetup(false);
}
break;
- case EIP_ACTION_STOP:
- //setup was manually cancelled
- finishGatewaySetup(false);
- break;
default:
break;
}
@@ -232,9 +224,10 @@ class EipSetupObserver extends BroadcastReceiver implements VpnStatus.StateListe
return;
}
- Log.d(TAG, "trying gateway: " + setupVpnProfile.getName());
-
- if ("CONNECTRETRY".equals(state) && LEVEL_CONNECTING_NO_SERVER_REPLY_YET.equals(level)) {
+ if (ConnectionStatus.LEVEL_STOPPING == level) {
+ finishGatewaySetup(false);
+ } else if ("CONNECTRETRY".equals(state) && LEVEL_CONNECTING_NO_SERVER_REPLY_YET.equals(level)) {
+ Log.d(TAG, "trying gateway: " + setupVpnProfile.getName());
if (TIMEOUT.equals(logmessage)) {
Log.e(TAG, "Timeout reached! Try next gateway!");
VpnStatus.logError("Timeout reached! Try next gateway!");
@@ -243,7 +236,7 @@ class EipSetupObserver extends BroadcastReceiver implements VpnStatus.StateListe
}
int current = reconnectTry.get();
reconnectTry.set(current + 1);
- } else if ("NOPROCESS".equals(state) && ConnectionStatus.LEVEL_NOTCONNECTED == level) {
+ } else if ("NOPROCESS".equals(state) && LEVEL_NOTCONNECTED == level) {
//??
} else if ("CONNECTED".equals(state)) {
//saveLastProfile(context.getApplicationContext(), setupVpnProfile.getUUIDString());