summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2013-04-15 20:20:58 +0200
committerParménides GV <parmegv@sdf.org>2013-04-15 20:20:58 +0200
commit418264e2a78371d133b510122f5ac3c9bd940764 (patch)
tree95e4e6067179e052b8de59ac01829c204a374249
parent16deeb94de750234aba78d2a88189ce60788b470 (diff)
Fixed bug 2231.
New provider dialog works OK.
-rw-r--r--src/se/leap/leapclient/ConfigHelper.java9
-rw-r--r--src/se/leap/leapclient/ConfigurationWizard.java4
-rw-r--r--src/se/leap/leapclient/ProviderAPI.java11
3 files changed, 17 insertions, 7 deletions
diff --git a/src/se/leap/leapclient/ConfigHelper.java b/src/se/leap/leapclient/ConfigHelper.java
index 11401df5..7476c89a 100644
--- a/src/se/leap/leapclient/ConfigHelper.java
+++ b/src/se/leap/leapclient/ConfigHelper.java
@@ -38,7 +38,7 @@ public class ConfigHelper {
final static String eip_service_key = "eip";
public static final String PREFERENCES_KEY = "LEAPPreferences";
public static final String user_directory = "leap_android";
- public static String provider_key_url = "provider_main_url";
+ public static String provider_main_url = "provider_main_url";
final public static String srp_server_url_key = "srp_server_url";
final public static String username_key = "username";
final public static String password_key = "password";
@@ -176,4 +176,11 @@ public class ConfigHelper {
e.printStackTrace();
}
}
+
+ public static int getSrpAuthenticationFailed() {
+ return SRP_AUTHENTICATION_FAILED;
+ }static String extractProviderName(String provider_main_url) {
+
+ return null;
+ }
}
diff --git a/src/se/leap/leapclient/ConfigurationWizard.java b/src/se/leap/leapclient/ConfigurationWizard.java
index a61acfaa..4fbba1df 100644
--- a/src/se/leap/leapclient/ConfigurationWizard.java
+++ b/src/se/leap/leapclient/ConfigurationWizard.java
@@ -182,14 +182,14 @@ public class ConfigurationWizard extends Activity
}
@Override
- public void saveProvider(String provider_url) {
+ public void saveProvider(String provider_main_url) {
providerAPI_result_receiver = new ProviderAPIResultReceiver(new Handler());
providerAPI_result_receiver.setReceiver(this);
Intent provider_API_command = new Intent(this, ProviderAPI.class);
Bundle method_and_parameters = new Bundle();
- method_and_parameters.putString(ConfigHelper.provider_key_url, provider_url);
+ method_and_parameters.putString(ConfigHelper.provider_main_url, provider_main_url);
provider_API_command.putExtra(ConfigHelper.downloadNewProviderDotJSON, method_and_parameters);
provider_API_command.putExtra("receiver", providerAPI_result_receiver);
diff --git a/src/se/leap/leapclient/ProviderAPI.java b/src/se/leap/leapclient/ProviderAPI.java
index ec131aaa..07452a44 100644
--- a/src/se/leap/leapclient/ProviderAPI.java
+++ b/src/se/leap/leapclient/ProviderAPI.java
@@ -50,7 +50,7 @@ public class ProviderAPI extends IntentService {
receiver.send(ConfigHelper.CORRECTLY_DOWNLOADED_JSON_FILES, Bundle.EMPTY);
}
else if ((task = task_for.getBundleExtra(ConfigHelper.downloadNewProviderDotJSON)) != null) {
- if(downloadJsonFilesBundleExtra(task))
+ if(downloadNewProviderDotJSON(task))
receiver.send(ConfigHelper.CORRECTLY_DOWNLOADED_JSON_FILES, Bundle.EMPTY);
else
receiver.send(ConfigHelper.INCORRECTLY_DOWNLOADED_JSON_FILES, Bundle.EMPTY);
@@ -179,7 +179,7 @@ public class ProviderAPI extends IntentService {
private boolean downloadNewProviderDotJSON(Bundle task) {
boolean custom = true;
- String provider_main_url = (String) task.get(ConfigHelper.provider_key_url);
+ String provider_main_url = (String) task.get(ConfigHelper.provider_main_url);
String provider_name = provider_main_url.replaceFirst("http[s]?://", "").replaceFirst("\\/", "_");
String provider_json_url = guessURL(provider_main_url);
JSONObject provider_json = null;
@@ -199,6 +199,7 @@ public class ProviderAPI extends IntentService {
} else {
String filename = provider_name + "_provider.json".replaceFirst("__", "_");
ConfigHelper.saveFile(filename, provider_json.toString());
+ ConfigHelper.saveSharedPref(ConfigHelper.provider_key, provider_json);
ProviderListContent.addItem(new ProviderItem(provider_name, ConfigHelper.openFileInputStream(filename), custom));
return true;
@@ -206,7 +207,9 @@ public class ProviderAPI extends IntentService {
}
private boolean downloadJsonFilesBundleExtra(Bundle task) {
- String provider_name = (String) task.get(ConfigHelper.provider_key);
+ //TODO task only contains provider main url -> we need to infer cert_url, provider_name and eip_service_json_url from that.
+ String provider_main_url = (String) task.get(ConfigHelper.provider_main_url);
+ String provider_name = ConfigHelper.extractProviderName(provider_main_url);
String cert_url = (String) task.get(ConfigHelper.cert_key);
String eip_service_json_url = (String) task.get(ConfigHelper.eip_service_key);
try {
@@ -223,7 +226,7 @@ public class ProviderAPI extends IntentService {
ConfigHelper.saveSharedPref(ConfigHelper.eip_service_key, eip_service_json);
return true;
} catch (IOException e) {
- // It could happen that an https site used a certificate not trusted: solved above using URL
+ //TODO It could happen when the url is not valid.
e.printStackTrace();
return false;
} catch (JSONException e) {