diff options
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java | 25 |
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()); |