diff options
| -rw-r--r-- | src/se/leap/bitmaskclient/ConfigurationWizard.java | 32 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ProviderAPI.java | 5 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ProviderListAdapter.java | 20 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ProviderListContent.java | 9 | ||||
| -rw-r--r-- | src/se/leap/bitmaskclient/ProviderListFragment.java | 1 | 
5 files changed, 33 insertions, 34 deletions
| diff --git a/src/se/leap/bitmaskclient/ConfigurationWizard.java b/src/se/leap/bitmaskclient/ConfigurationWizard.java index 43ac8dd8..36d90318 100644 --- a/src/se/leap/bitmaskclient/ConfigurationWizard.java +++ b/src/se/leap/bitmaskclient/ConfigurationWizard.java @@ -149,16 +149,14 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn  				if(resultData.containsKey(Provider.NAME)) {
  					String provider_id = resultData.getString(Provider.NAME);
  					mSelectedProvider = getProvider(provider_id);
 -					provider_list_fragment.addItem(mSelectedProvider);
 -					ProviderListContent.removeItem(mSelectedProvider);
 +					//provider_list_fragment.addItem(mSelectedProvider);
 +					//ProviderListContent.removeItem(mSelectedProvider);
 -					if(mSelectedProvider.custom)
 -						refreshProviderList(0);
 +					//refreshProviderList(0);
  					if(!mProgressBar.isShown()) {
  						int provider_index = getProviderIndex(provider_id);
  						startProgressBar(provider_index);
 -						provider_list_fragment = (ProviderListFragment) getFragmentManager().findFragmentByTag(ProviderListFragment.TAG);
  						provider_list_fragment.hide(provider_index-2);
  						//setProviderList(provider_list_fragment);
  					}
 @@ -171,7 +169,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn  				e.printStackTrace();
  			    mProgressBar.setVisibility(ProgressBar.GONE);
  			    progressbar_description.setVisibility(TextView.GONE);
 -				refreshProviderList(0);
 +				//refreshProviderList(0);
  				//Toast.makeText(this, getResources().getString(R.string.config_error_parsing), Toast.LENGTH_LONG);
  				setResult(RESULT_CANCELED, mConfigState);
  			}
 @@ -194,7 +192,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn  				mProgressBar.incrementProgressBy(1);
  			    mProgressBar.setVisibility(ProgressBar.GONE);
  			    progressbar_description.setVisibility(TextView.GONE);
 -			    refreshProviderList(0);
 +			    //refreshProviderList(0);
  				//Toast.makeText(getApplicationContext(), R.string.success, Toast.LENGTH_LONG).show();
  				setResult(RESULT_OK);
  				showProviderDetails(getCurrentFocus());
 @@ -288,7 +286,7 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn  	    while(providers_iterator.hasNext()) {
  		    ProviderItem provider = providers_iterator.next();
  		    index++;
 -		    if(provider.id.equalsIgnoreCase(id)) {
 +		    if(provider.name().equalsIgnoreCase(id)) {
  			    break;
  		    }
  	    }
 @@ -447,18 +445,22 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn  	private void showProvider(final String provider_main_url, final boolean danger_on) {
  		String provider_name = provider_main_url.replaceFirst("http[s]?://", "").replaceFirst("\\/", "_");
 -		boolean custom = true;
 -		final ProviderItem added_provider = new ProviderItem(provider_name, provider_main_url, custom, danger_on);
 +		final ProviderItem added_provider = new ProviderItem(provider_name, provider_main_url, danger_on);
 +		
 +		//ProviderListContent.addItem(added_provider);
 +		provider_list_fragment.addItem(added_provider);
 +		/*ProviderListFragment provider_list_fragment = (ProviderListFragment) getFragmentManager().findFragmentByTag(ProviderListFragment.TAG);
 +		//provider_list_fragment.notifyAdapter();
 +		provider_list_fragment.addItem(added_provider);
 +		refreshProviderList(0);
 +		
  		runOnUiThread(new Runnable() {
  			@Override
  			public void run() {
 -				// TODO Auto-generated method stub
 -				ProviderListContent.addItem(added_provider);
 -				ProviderListFragment provider_list_fragment = (ProviderListFragment) getFragmentManager().findFragmentByTag("providerlist");
 -				provider_list_fragment.notifyAdapter();
 +				provider_list_fragment.addItem(added_provider);
  			}
 -		});
 +		});*/
  	}
  	/**
 diff --git a/src/se/leap/bitmaskclient/ProviderAPI.java b/src/se/leap/bitmaskclient/ProviderAPI.java index 268275e2..8542aa92 100644 --- a/src/se/leap/bitmaskclient/ProviderAPI.java +++ b/src/se/leap/bitmaskclient/ProviderAPI.java @@ -488,7 +488,9 @@ public class ProviderAPI extends IntentService {  	private Bundle updateProviderDotJSON(Bundle task) {  		Bundle result = new Bundle();  		boolean danger_on = task.getBoolean(ProviderItem.DANGER_ON); -		String provider_json_url = task.getString(Provider.MAIN_URL) + "/provider.json"; +		String provider_main_url = task.getString(Provider.MAIN_URL); +		String provider_name = provider_main_url.replaceFirst("http[s]?://", "").replaceFirst("\\/", "_"); +		String provider_json_url = provider_main_url + "/provider.json";  		try {  			String provider_dot_json_string = downloadWithCommercialCA(provider_json_url, danger_on); @@ -503,6 +505,7 @@ public class ProviderAPI extends IntentService {  				} else {  					ConfigHelper.saveSharedPref(EIP.ALLOWED_ANON, provider_json.getJSONObject(Provider.SERVICE).getBoolean(EIP.ALLOWED_ANON)); +				result.putString(Provider.NAME, added_provider.name());  				result.putBoolean(RESULT_KEY, true);  				result.putString(Provider.KEY, provider_json.toString());  				result.putBoolean(ProviderItem.DANGER_ON, danger_on); diff --git a/src/se/leap/bitmaskclient/ProviderListAdapter.java b/src/se/leap/bitmaskclient/ProviderListAdapter.java index 19c4f72c..bb1318fc 100644 --- a/src/se/leap/bitmaskclient/ProviderListAdapter.java +++ b/src/se/leap/bitmaskclient/ProviderListAdapter.java @@ -1,5 +1,6 @@  package se.leap.bitmaskclient; +import java.lang.reflect.Array;  import java.util.List;  import android.content.Context; @@ -10,7 +11,6 @@ import android.widget.ArrayAdapter;  import android.widget.TwoLineListItem;  public class ProviderListAdapter<T> extends ArrayAdapter<T> { -	private T[] items = null;  	private static boolean[] hidden = null;  	public void hide(int position) { @@ -42,7 +42,7 @@ public class ProviderListAdapter<T> extends ArrayAdapter<T> {  	}  	private int getHiddenCount() {  		int count = 0; -		for(int i=0;i<items.length;i++) +		for(int i=0;i<hidden.length;i++)  			if(hidden[i])  				count++;  		return count; @@ -58,25 +58,23 @@ public class ProviderListAdapter<T> extends ArrayAdapter<T> {  	@Override  	public int getCount() { -		return (items.length - getHiddenCount()); +		return (hidden.length - getHiddenCount());  	}  	public ProviderListAdapter(Context mContext, int layout, List<T> objects) {  		super(mContext, layout, objects); -		items = objects.toArray((T[])new Object[0]);  		if(hidden == null) { -			hidden = new boolean[items.length]; -			for (int i = 0; i < items.length; i++) +			hidden = new boolean[objects.size()]; +			for (int i = 0; i < objects.size(); i++)  				hidden[i] = false;  		}  	}  	public ProviderListAdapter(Context mContext, int layout, List<T> objects, boolean show_all_providers) {  		super(mContext, layout, objects); -		items = objects.toArray((T[])new Object[0]);  		if(show_all_providers) { -			hidden = new boolean[items.length]; -			for (int i = 0; i < items.length; i++) +			hidden = new boolean[objects.size()]; +			for (int i = 0; i < objects.size(); i++)  				hidden[i] = false;  		}  	} @@ -101,8 +99,8 @@ public class ProviderListAdapter<T> extends ArrayAdapter<T> {  			row = (TwoLineListItem)convertView;  		}  		ProviderListContent.ProviderItem data = ProviderListContent.ITEMS.get(position); -		row.getText1().setText(data.domain); -		row.getText2().setText(data.name); +		row.getText1().setText(data.domain()); +		row.getText2().setText(data.name());  		return row;  	} diff --git a/src/se/leap/bitmaskclient/ProviderListContent.java b/src/se/leap/bitmaskclient/ProviderListContent.java index 3695066c..af61dbd6 100644 --- a/src/se/leap/bitmaskclient/ProviderListContent.java +++ b/src/se/leap/bitmaskclient/ProviderListContent.java @@ -61,7 +61,6 @@ public class ProviderListContent {  	public static class ProviderItem {
  		final public static String CUSTOM = "custom";
  		final public static String DANGER_ON = "danger_on";
 -		private boolean custom = false;
  		private String provider_main_url;
  		private String name;
  		private boolean danger_on = false; @@ -80,8 +79,7 @@ public class ProviderListContent {  				String urls_file_content = new String(urls_file_bytes);
  				JSONObject file_contents = new JSONObject(urls_file_content);  				provider_main_url = file_contents.getString(Provider.MAIN_URL);
 -				this.name = name; -				this.custom = custom;
 +				this.name = name;
  				this.danger_on = danger_on;
  			} catch (JSONException e) {
  				// TODO Auto-generated catch block
 @@ -99,17 +97,14 @@ public class ProviderListContent {  		 * @param custom if it's a new provider entered by the user or not
  		 * @param danger_on if the user trusts completely the new provider
  		 */ -		public ProviderItem(String name, String provider_main_url, boolean custom, boolean danger_on) {
 +		public ProviderItem(String name, String provider_main_url, boolean danger_on) {
  			this.name = name;
  			this.provider_main_url = provider_main_url;
 -			this.custom = custom;
  			this.danger_on = danger_on;  		}
  		public String name() { return name; }
 -		public boolean custom() { return custom; }
 -		
  		public String providerMainUrl() { return provider_main_url; }
  		public String domain() {
 diff --git a/src/se/leap/bitmaskclient/ProviderListFragment.java b/src/se/leap/bitmaskclient/ProviderListFragment.java index 62dcef7a..6a0f2a05 100644 --- a/src/se/leap/bitmaskclient/ProviderListFragment.java +++ b/src/se/leap/bitmaskclient/ProviderListFragment.java @@ -199,6 +199,7 @@ public class ProviderListFragment extends ListFragment {      public void addItem(ProviderItem provider) {
      	content_adapter.add(provider);
 +    	content_adapter.notifyDataSetChanged();
      }
      public void hide(int position) {
 | 
