diff options
| author | Parménides GV <parmegv@sdf.org> | 2013-04-15 20:20:58 +0200 | 
|---|---|---|
| committer | Parménides GV <parmegv@sdf.org> | 2013-04-15 20:20:58 +0200 | 
| commit | 418264e2a78371d133b510122f5ac3c9bd940764 (patch) | |
| tree | 95e4e6067179e052b8de59ac01829c204a374249 | |
| parent | 16deeb94de750234aba78d2a88189ce60788b470 (diff) | |
Fixed bug 2231.
New provider dialog works OK.
| -rw-r--r-- | src/se/leap/leapclient/ConfigHelper.java | 9 | ||||
| -rw-r--r-- | src/se/leap/leapclient/ConfigurationWizard.java | 4 | ||||
| -rw-r--r-- | src/se/leap/leapclient/ProviderAPI.java | 11 | 
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) {  | 
