diff options
| -rw-r--r-- | assets/urls/bitmask.url | 6 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/AboutFragment.java | 3 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ConfigurationWizard.java | 43 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ProviderListContent.java | 8 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ProviderListFragment.java | 2 | 
5 files changed, 34 insertions, 28 deletions
| diff --git a/assets/urls/bitmask.url b/assets/urls/bitmask.url index a17a5ff8..9e4c1317 100644 --- a/assets/urls/bitmask.url +++ b/assets/urls/bitmask.url @@ -1,7 +1,3 @@  {
 -	"name" : "bitmask",
 -	"assets_json_provider" : "providers/bitmask.net_provider.json",
 -	"provider_json_url" : "https://bitmask.net/provider.json",
 -	"cert" : "https://bitmask.net/ca.crt",
 -	"json_eip_service" : "https://api.bitmask.net:4430/1/config/eip-service.json"
 +	"provider_json_url" : "https://bitmask.net/provider.json"
  }
\ No newline at end of file diff --git a/src/se/leap/bitmaskclient/AboutFragment.java b/src/se/leap/bitmaskclient/AboutFragment.java index d751dc2f..4d03a44b 100644 --- a/src/se/leap/bitmaskclient/AboutFragment.java +++ b/src/se/leap/bitmaskclient/AboutFragment.java @@ -4,9 +4,6 @@ import android.app.Fragment;  import android.content.pm.PackageInfo;  import android.content.pm.PackageManager.NameNotFoundException;  import android.os.Bundle; -import android.text.Html; -import android.text.Spanned; -import android.text.method.LinkMovementMethod;  import android.view.LayoutInflater;  import android.view.View;  import android.view.ViewGroup; diff --git a/src/se/leap/bitmaskclient/ConfigurationWizard.java b/src/se/leap/bitmaskclient/ConfigurationWizard.java index 532debfd..6d088a85 100644 --- a/src/se/leap/bitmaskclient/ConfigurationWizard.java +++ b/src/se/leap/bitmaskclient/ConfigurationWizard.java @@ -165,7 +165,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn  					mProgressBar.incrementProgressBy(1);
  				}
 -				downloadJSONFiles(mSelectedProvider);
 +				downloadJSONFiles(provider_json, danger_on);
  			} catch (JSONException e) {
  				// TODO Auto-generated catch block
  				e.printStackTrace();
 @@ -366,7 +366,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn      			mProgressBar.incrementProgressBy(1);
 -    			downloadJSONFiles(mSelectedProvider);
 +    			downloadJSONFiles(provider_json, provider.completelyTrusted());
      		}
      	} catch (JSONException e) {
      		setResult(RESULT_CANCELED);
 @@ -378,23 +378,28 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn       * Asks ProviderAPI to download provider site's certificate and eip-service.json
       * 
       * URLs are fetched from the provider parameter
 -     * @param provider from which certificate and eip-service.json files are going to be downloaded
 -     */
 -	private void downloadJSONFiles(ProviderItem provider) {
 -		Intent provider_API_command = new Intent(this, ProviderAPI.class);
 -		
 -		Bundle parameters = new Bundle(); -		
 -		parameters.putString(Provider.KEY, provider.name());
 -		parameters.putString(Provider.CA_CERT, provider.cert_json_url);
 -		parameters.putString(EIP.KEY, provider.eip_service_json_url);
 -		parameters.putBoolean(ProviderItem.DANGER_ON, provider.completelyTrusted()); -		
 -		provider_API_command.setAction(ProviderAPI.DOWNLOAD_JSON_FILES_BUNDLE_EXTRA);
 -		provider_API_command.putExtra(ProviderAPI.PARAMETERS, parameters);
 -		provider_API_command.putExtra(ProviderAPI.RECEIVER_KEY, providerAPI_result_receiver);
 -
 -		startService(provider_API_command);
 +     * @param provider_json describing the provider from which certificate and eip-service.json files are going to be downloaded
 +     */ +	private void downloadJSONFiles(JSONObject provider_json, boolean danger_on) {
 +			try {
 +				Intent provider_API_command = new Intent(this, ProviderAPI.class);
 +				
 +				Bundle parameters = new Bundle();
 +
 +				parameters.putBoolean(ProviderItem.DANGER_ON, danger_on);
 +				parameters.putString(Provider.CA_CERT, provider_json.getString("ca_cert_uri"));
 +				String eip_service_url = provider_json.getString(Provider.API_URL) +  "/" + provider_json.getString(Provider.API_VERSION) + "/config/eip-service.json";
 +				parameters.putString(EIP.KEY, eip_service_url);
 +				
 +				provider_API_command.setAction(ProviderAPI.DOWNLOAD_JSON_FILES_BUNDLE_EXTRA);
 +				provider_API_command.putExtra(ProviderAPI.PARAMETERS, parameters);
 +				provider_API_command.putExtra(ProviderAPI.RECEIVER_KEY, providerAPI_result_receiver); +
 +				startService(provider_API_command);
 +			} catch (JSONException e) {
 +				//TODO Show error to the user. This will eventually be transformed to "unselectProvider()", which will show the graphical notice itself.
 +				ConfigHelper.removeFromSharedPref(Provider.KEY);
 +			}
  	}
  	/**
 diff --git a/src/se/leap/bitmaskclient/ProviderListContent.java b/src/se/leap/bitmaskclient/ProviderListContent.java index 42cac792..a6da5620 100644 --- a/src/se/leap/bitmaskclient/ProviderListContent.java +++ b/src/se/leap/bitmaskclient/ProviderListContent.java @@ -110,6 +110,14 @@ public class ProviderListContent {  		public String providerJsonUrl() { return provider_json_url; }
 +		public String domain() {
 +			try {
 +				return new URL(provider_json_url).getHost();
 +			} catch (MalformedURLException e) {
 +				return provider_json_url.replaceFirst("http[s]?://", "").replaceFirst("/.*", "");
 +			}
 +		}
 +		
  		public boolean completelyTrusted() { return danger_on; }
  	}
  }
 diff --git a/src/se/leap/bitmaskclient/ProviderListFragment.java b/src/se/leap/bitmaskclient/ProviderListFragment.java index 84d46a11..ca66d295 100644 --- a/src/se/leap/bitmaskclient/ProviderListFragment.java +++ b/src/se/leap/bitmaskclient/ProviderListFragment.java @@ -155,7 +155,7 @@ public class ProviderListFragment extends ListFragment {          // Notify the active callbacks interface (the activity, if the
          // fragment is attached to one) that an item has been selected.
 -        mCallbacks.onItemSelected(ProviderListContent.ITEMS.get(position).id);
 +        mCallbacks.onItemSelected(ProviderListContent.ITEMS.get(position).name());
          for(int item_position = 0; item_position < listView.getCount(); item_position++) {
          	if(item_position != position)
 | 
