summaryrefslogtreecommitdiff
path: root/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java')
-rw-r--r--app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java39
1 files changed, 10 insertions, 29 deletions
diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java
index 034c9752..2fdb5b02 100644
--- a/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java
+++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java
@@ -16,7 +16,6 @@
*/
package se.leap.bitmaskclient;
-import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentTransaction;
@@ -26,6 +25,8 @@ import java.net.URL;
import se.leap.bitmaskclient.ProviderListContent.ProviderItem;
+import static se.leap.bitmaskclient.ProviderAPI.SET_UP_PROVIDER;
+
/**
* Activity that builds and shows the list of known available providers.
* <p/>
@@ -51,12 +52,12 @@ public class ProviderListActivity extends ProviderListBaseActivity {
/**
* Open the new provider dialog with data
*/
- public void addAndSelectNewProvider(String main_url, boolean danger_on) {
+ public void addAndSelectNewProvider(String mainUrl, boolean danger_on) {
FragmentTransaction fragment_transaction = fragmentManager.removePreviousFragment(NewProviderDialog.TAG);
DialogFragment newFragment = new NewProviderDialog();
Bundle data = new Bundle();
- data.putString(Provider.MAIN_URL, main_url);
+ data.putString(Provider.MAIN_URL, mainUrl);
data.putBoolean(ProviderItem.DANGER_ON, danger_on);
newFragment.setArguments(data);
newFragment.show(fragment_transaction, NewProviderDialog.TAG);
@@ -87,46 +88,26 @@ public class ProviderListActivity extends ProviderListBaseActivity {
*/
public void setUpProvider(boolean danger_on) {
mConfigState.setAction(SETTING_UP_PROVIDER);
- Intent providerAPICommand = new Intent(this, ProviderAPI.class);
+
Bundle parameters = new Bundle();
- parameters.putString(Provider.MAIN_URL, provider.getMainUrl().toString());
parameters.putBoolean(ProviderItem.DANGER_ON, danger_on);
- if (provider.hasCertificatePin()){
- parameters.putString(Provider.CA_CERT_FINGERPRINT, provider.certificatePin());
- }
- if (provider.hasCaCert()) {
- parameters.putString(Provider.CA_CERT, provider.getCaCert());
- }
- if (provider.hasDefinition()) {
- parameters.putString(Provider.KEY, provider.getDefinition().toString());
- }
-
- providerAPICommand.setAction(ProviderAPI.SET_UP_PROVIDER);
- providerAPICommand.putExtra(ProviderAPI.PARAMETERS, parameters);
- startService(providerAPICommand);
+ ProviderAPICommand.execute(this, SET_UP_PROVIDER, parameters, provider);
}
/**
* Retrys setup of last used provider, allows bypassing ca certificate validation.
*/
@Override
- public void retrySetUpProvider() {
+ public void retrySetUpProvider(Provider provider) {
cancelSettingUpProvider();
- if (!ProviderAPI.caCertDownloaded()) {
- addAndSelectNewProvider(ProviderAPI.lastProviderMainUrl(), ProviderAPI.lastDangerOn());
+ if (!provider.hasCaCert()) {
+ addAndSelectNewProvider(provider.getMainUrlString(), ProviderAPI.lastDangerOn());
} else {
showProgressBar();
adapter.hideAllBut(adapter.indexOf(provider));
- Intent providerAPICommand = new Intent(this, ProviderAPI.class);
-
- providerAPICommand.setAction(ProviderAPI.SET_UP_PROVIDER);
- Bundle parameters = new Bundle();
- parameters.putString(Provider.MAIN_URL, provider.getMainUrl().toString());
- providerAPICommand.putExtra(ProviderAPI.PARAMETERS, parameters);
-
- startService(providerAPICommand);
+ ProviderAPICommand.execute(this, SET_UP_PROVIDER, provider);
}
}