summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorParménides GV <parmegv@ma.sdf.org>2013-06-25 16:44:22 +0200
committerSean Leonard <meanderingcode@aetherislands.net>2013-06-26 22:39:35 -0600
commitdff5aa6e1c4df4af012899df7bf26e4f20f3ab26 (patch)
treeec37eacdff6b7d638ba9941257a2b8cffe0f0912 /src
parent50db5b5816476751f39bb7b8adc927562a0cc677 (diff)
ConfigurationWizard shows domain and name.
Items from the provider's list have 2 rows, first one with the domain and the other with the name. Names from preseeded providers are fetched from the assets file, because we don't download provider.json until they select it.
Diffstat (limited to 'src')
-rw-r--r--src/se/leap/leapclient/ProviderListContent.java122
-rw-r--r--src/se/leap/leapclient/ProviderListFragment.java25
2 files changed, 88 insertions, 59 deletions
diff --git a/src/se/leap/leapclient/ProviderListContent.java b/src/se/leap/leapclient/ProviderListContent.java
index 8727b16b..991034b1 100644
--- a/src/se/leap/leapclient/ProviderListContent.java
+++ b/src/se/leap/leapclient/ProviderListContent.java
@@ -6,6 +6,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.net.URL;
+import java.net.MalformedURLException;
import org.json.JSONException;
import org.json.JSONObject;
@@ -18,54 +20,59 @@ import org.json.JSONObject;
*/
public class ProviderListContent {
- public static List<ProviderItem> ITEMS = new ArrayList<ProviderItem>();
+ public static List<ProviderItem> ITEMS = new ArrayList<ProviderItem>();
- public static Map<String, ProviderItem> ITEM_MAP = new HashMap<String, ProviderItem>();
-
- /**
- * Adds a new provider item to the end of the items map, and to the items list.
- * @param item
- */
- public static void addItem(ProviderItem item) {
- ITEMS.add(item);
- ITEM_MAP.put(String.valueOf(ITEMS.size()), item);
- }
+ public static Map<String, ProviderItem> ITEM_MAP = new HashMap<String, ProviderItem>();
- /**
- * A provider item.
- */
- public static class ProviderItem {
- public boolean custom = false;
- public String id;
- public String name;
- public String provider_json_url;
+ /**
+ * Adds a new provider item to the end of the items map, and to the items list.
+ * @param item
+ */
+ public static void addItem(ProviderItem item) {
+ ITEMS.add(item);
+ ITEM_MAP.put(String.valueOf(ITEMS.size()), item);
+ }
+
+ /**
+ * A provider item.
+ */
+ public static class ProviderItem {
+ public boolean custom = false;
+ public String id;
+ public String name;
+ public String domain;
+ public String provider_json_url;
public JSONObject provider_json;
- public String provider_json_filename;
- public String eip_service_json_url;
- public String cert_json_url;
- public boolean danger_on = false;
+ public String provider_json_filename;
+ public String eip_service_json_url;
+ public String cert_json_url;
+ public boolean danger_on = false;
+
+ /**
+ * @param name of the provider
+ * @param urls_file_input_stream file input stream linking with the assets url file
+ * @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, InputStream urls_file_input_stream, boolean custom, boolean danger_on) {
- /**
- * @param name of the provider
- * @param urls_file_input_stream file input stream linking with the assets url file
- * @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, InputStream urls_file_input_stream, boolean custom, boolean danger_on) {
-
- try {
- byte[] urls_file_bytes = new byte[urls_file_input_stream.available()];
- urls_file_input_stream.read(urls_file_bytes);
- String urls_file_content = new String(urls_file_bytes);
+ try {
+ byte[] urls_file_bytes = new byte[urls_file_input_stream.available()];
+ urls_file_input_stream.read(urls_file_bytes);
+ String urls_file_content = new String(urls_file_bytes);
JSONObject file_contents = new JSONObject(urls_file_content);
id = name;
this.name = name;
provider_json_url = file_contents.getString(ConfigHelper.PROVIDER_JSON_URL);
- provider_json_filename = file_contents.getString("assets_json_provider");
+ domain = new URL(provider_json_url).getHost();
+ //provider_json_filename = file_contents.getString("assets_json_provider");
eip_service_json_url = file_contents.getString("json_eip_service");
cert_json_url = file_contents.getString(ConfigHelper.CERT_KEY);
this.custom = custom;
this.danger_on = danger_on;
+ } catch (MalformedURLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -73,37 +80,42 @@ public class ProviderListContent {
// TODO Auto-generated catch block
e.printStackTrace();
}
- }
+ }
+
+ /**
+ * @param name of the provider
+ * @param provider_json_url used to download provider.json file of the provider
+ * @param provider_json already downloaded
+ * @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_json_url, JSONObject provider_json, boolean custom, boolean danger_on) {
- /**
- * @param name of the provider
- * @param provider_json_url used to download provider.json file of the provider
- * @param provider_json already downloaded
- * @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_json_url, JSONObject provider_json, boolean custom, boolean danger_on) {
-
- try {
+ try {
id = name;
- this.name = name;
+ //this.name = name;
this.provider_json_url = provider_json_url;
this.provider_json = provider_json;
+ this.name = provider_json.getJSONObject("name").getString("en");
+ domain = new URL(provider_json_url).getHost();
eip_service_json_url = provider_json.getString(ConfigHelper.API_URL_KEY) + "/" + provider_json.getString(ConfigHelper.API_VERSION_KEY) + "/" + ConfigHelper.EIP_SERVICE_API_PATH;
- cert_json_url = (String) provider_json.get("ca_cert_uri");
+ cert_json_url = provider_json.getString("ca_cert_uri");
this.custom = custom;
this.danger_on = danger_on;
if(custom)
provider_json_filename = name + "_provider.json".replaceFirst("__", "_");
+ } catch (MalformedURLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- }
+ }
- @Override
- public String toString() {
- return name;
- }
- }
+ @Override
+ public String toString() {
+ return name;
+ }
+ }
}
diff --git a/src/se/leap/leapclient/ProviderListFragment.java b/src/se/leap/leapclient/ProviderListFragment.java
index ee3ee8ea..f4f5feb9 100644
--- a/src/se/leap/leapclient/ProviderListFragment.java
+++ b/src/se/leap/leapclient/ProviderListFragment.java
@@ -9,6 +9,8 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
+import android.content.Context;
+import android.widget.TwoLineListItem;
/**
* A list fragment representing a list of Providers. This fragment
@@ -74,10 +76,25 @@ public class ProviderListFragment extends ListFragment {
super.onCreate(savedInstanceState);
content_adapter = new ArrayAdapter<ProviderListContent.ProviderItem>(
getActivity(),
- android.R.layout.simple_list_item_activated_1,
- android.R.id.text1,
- ProviderListContent.ITEMS);
- setListAdapter(content_adapter);
+ android.R.layout.simple_list_item_activated_2,
+ ProviderListContent.ITEMS) {
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent){
+ TwoLineListItem row;
+ if (convertView == null) {
+ LayoutInflater inflater = (LayoutInflater)getActivity().getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ row = (TwoLineListItem)inflater.inflate(android.R.layout.simple_list_item_2, null);
+ } else {
+ row = (TwoLineListItem)convertView;
+ }
+ ProviderListContent.ProviderItem data = ProviderListContent.ITEMS.get(position);
+ row.getText1().setText(data.domain);
+ row.getText2().setText(data.name);
+
+ return row;
+ }
+ };
+ setListAdapter(content_adapter);
}
@Override