From 3addd20598f7fee2d41a24d64b375a2f63874457 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Tue, 9 Jan 2018 14:02:57 +0100 Subject: create ProviderDetail Activity --- .../leap/bitmaskclient/ProviderDetailActivity.java | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java (limited to 'app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java') diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java new file mode 100644 index 00000000..c97daea6 --- /dev/null +++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java @@ -0,0 +1,115 @@ +package se.leap.bitmaskclient; + +import android.app.Activity; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.util.Log; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.TextView; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; + +import butterknife.ButterKnife; +import butterknife.InjectView; + +public class ProviderDetailActivity extends Activity { + + final public static String TAG = "providerDetailActivity"; + private SharedPreferences preferences; + + @InjectView(R.id.provider_detail_domain) + TextView domain; + + @InjectView(R.id.provider_detail_name) + TextView name; + + @InjectView(R.id.provider_detail_description) + TextView description; + + @InjectView(R.id.provider_detail_options) + ListView options; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.provider_detail_fragment); + ButterKnife.inject(this); + + preferences = getSharedPreferences(Constants.SHARED_PREFERENCES, MODE_PRIVATE); + try { + JSONObject provider_json = new JSONObject(preferences.getString(Provider.KEY, "")); + domain.setText(provider_json.getString(Provider.DOMAIN)); + name.setText(provider_json.getJSONObject(Provider.NAME).getString("en")); + description.setText(provider_json.getJSONObject(Provider.DESCRIPTION).getString("en")); + + setTitle(R.string.provider_details_title); + + ArrayList optionsList = new ArrayList<>(); + optionsList.add(getString(R.string.login_button)); + if (registration_allowed(provider_json)) { + optionsList.add(getString(R.string.signup_button)); + } + if (anon_allowed(provider_json)) { + optionsList.add(getString(R.string.use_anonymously_button)); + } + + options.setAdapter(new ArrayAdapter<>( + this, + android.R.layout.simple_list_item_activated_1, + android.R.id.text1, + optionsList.toArray(new String[optionsList.size()]) + )); + options.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + String text = ((TextView) view).getText().toString(); + if (text.equals(getString(R.string.login_button))) { + Log.d(TAG, "login selected"); + } else if (text.equals(getString(R.string.signup_button))) { + Log.d(TAG, "signup selected"); + } else if (text.equals(getString(R.string.use_anonymously_button))) { + Intent intent = new Intent(getApplicationContext(), MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); + startActivity(intent); + } + } + }); + } catch (JSONException e) { + // TODO show error and return + } + } + + private boolean anon_allowed(JSONObject provider_json) { + try { + JSONObject service_description = provider_json.getJSONObject(Provider.SERVICE); + return service_description.has(Constants.PROVIDER_ALLOW_ANONYMOUS) && service_description.getBoolean(Constants.PROVIDER_ALLOW_ANONYMOUS); + } catch (JSONException e) { + return false; + } + } + + private boolean registration_allowed(JSONObject provider_json) { + try { + JSONObject service_description = provider_json.getJSONObject(Provider.SERVICE); + return service_description.has(Provider.ALLOW_REGISTRATION) && service_description.getBoolean(Provider.ALLOW_REGISTRATION); + } catch (JSONException e) { + return false; + } + } + + @Override + public void onBackPressed() { + SharedPreferences.Editor editor = preferences.edit(); + editor.remove(Provider.KEY).remove(ProviderItem.DANGER_ON).remove(Constants.PROVIDER_ALLOW_ANONYMOUS).remove(Constants.PROVIDER_KEY).apply(); + super.onBackPressed(); + } + +} -- cgit v1.2.3 From 8806e6ae477e0b20806851f5f8f3c0141a63ad9d Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Tue, 9 Jan 2018 19:54:57 +0100 Subject: create LoginActivity and SignUpActivity --- .../se/leap/bitmaskclient/ProviderDetailActivity.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java') diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java index c97daea6..363a90fe 100644 --- a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java +++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java @@ -1,6 +1,5 @@ package se.leap.bitmaskclient; -import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; @@ -17,10 +16,9 @@ import org.json.JSONObject; import java.util.ArrayList; -import butterknife.ButterKnife; import butterknife.InjectView; -public class ProviderDetailActivity extends Activity { +public class ProviderDetailActivity extends ButterKnifeActivity { final public static String TAG = "providerDetailActivity"; private SharedPreferences preferences; @@ -41,7 +39,6 @@ public class ProviderDetailActivity extends Activity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.provider_detail_fragment); - ButterKnife.inject(this); preferences = getSharedPreferences(Constants.SHARED_PREFERENCES, MODE_PRIVATE); try { @@ -71,15 +68,18 @@ public class ProviderDetailActivity extends Activity { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { String text = ((TextView) view).getText().toString(); + Intent intent; if (text.equals(getString(R.string.login_button))) { Log.d(TAG, "login selected"); + intent = new Intent(getApplicationContext(), LoginActivity.class); } else if (text.equals(getString(R.string.signup_button))) { Log.d(TAG, "signup selected"); - } else if (text.equals(getString(R.string.use_anonymously_button))) { - Intent intent = new Intent(getApplicationContext(), MainActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - startActivity(intent); + intent = new Intent(getApplicationContext(), SignupActivity.class); + } else { + intent = new Intent(getApplicationContext(), MainActivity.class); } + intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); + startActivity(intent); } }); } catch (JSONException e) { @@ -108,7 +108,7 @@ public class ProviderDetailActivity extends Activity { @Override public void onBackPressed() { SharedPreferences.Editor editor = preferences.edit(); - editor.remove(Provider.KEY).remove(ProviderItem.DANGER_ON).remove(Constants.PROVIDER_ALLOW_ANONYMOUS).remove(Constants.PROVIDER_KEY).apply(); + editor.remove(Provider.KEY).remove(ProviderListContent.ProviderItem.DANGER_ON).remove(Constants.PROVIDER_ALLOW_ANONYMOUS).remove(Constants.PROVIDER_KEY).apply(); super.onBackPressed(); } -- cgit v1.2.3 From fba19da668411f722773617b2f09726701bc3ea8 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Thu, 11 Jan 2018 12:51:10 +0100 Subject: base class for production/insecure ProviderDetailActivity --- .../leap/bitmaskclient/ProviderDetailActivity.java | 103 +-------------------- 1 file changed, 1 insertion(+), 102 deletions(-) (limited to 'app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java') diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java index 363a90fe..8de97420 100644 --- a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java +++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java @@ -1,109 +1,8 @@ package se.leap.bitmaskclient; -import android.content.Intent; import android.content.SharedPreferences; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.util.Log; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.ListView; -import android.widget.TextView; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.ArrayList; - -import butterknife.InjectView; - -public class ProviderDetailActivity extends ButterKnifeActivity { - - final public static String TAG = "providerDetailActivity"; - private SharedPreferences preferences; - - @InjectView(R.id.provider_detail_domain) - TextView domain; - - @InjectView(R.id.provider_detail_name) - TextView name; - - @InjectView(R.id.provider_detail_description) - TextView description; - - @InjectView(R.id.provider_detail_options) - ListView options; - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.provider_detail_fragment); - - preferences = getSharedPreferences(Constants.SHARED_PREFERENCES, MODE_PRIVATE); - try { - JSONObject provider_json = new JSONObject(preferences.getString(Provider.KEY, "")); - domain.setText(provider_json.getString(Provider.DOMAIN)); - name.setText(provider_json.getJSONObject(Provider.NAME).getString("en")); - description.setText(provider_json.getJSONObject(Provider.DESCRIPTION).getString("en")); - - setTitle(R.string.provider_details_title); - - ArrayList optionsList = new ArrayList<>(); - optionsList.add(getString(R.string.login_button)); - if (registration_allowed(provider_json)) { - optionsList.add(getString(R.string.signup_button)); - } - if (anon_allowed(provider_json)) { - optionsList.add(getString(R.string.use_anonymously_button)); - } - - options.setAdapter(new ArrayAdapter<>( - this, - android.R.layout.simple_list_item_activated_1, - android.R.id.text1, - optionsList.toArray(new String[optionsList.size()]) - )); - options.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - String text = ((TextView) view).getText().toString(); - Intent intent; - if (text.equals(getString(R.string.login_button))) { - Log.d(TAG, "login selected"); - intent = new Intent(getApplicationContext(), LoginActivity.class); - } else if (text.equals(getString(R.string.signup_button))) { - Log.d(TAG, "signup selected"); - intent = new Intent(getApplicationContext(), SignupActivity.class); - } else { - intent = new Intent(getApplicationContext(), MainActivity.class); - } - intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - startActivity(intent); - } - }); - } catch (JSONException e) { - // TODO show error and return - } - } - - private boolean anon_allowed(JSONObject provider_json) { - try { - JSONObject service_description = provider_json.getJSONObject(Provider.SERVICE); - return service_description.has(Constants.PROVIDER_ALLOW_ANONYMOUS) && service_description.getBoolean(Constants.PROVIDER_ALLOW_ANONYMOUS); - } catch (JSONException e) { - return false; - } - } - - private boolean registration_allowed(JSONObject provider_json) { - try { - JSONObject service_description = provider_json.getJSONObject(Provider.SERVICE); - return service_description.has(Provider.ALLOW_REGISTRATION) && service_description.getBoolean(Provider.ALLOW_REGISTRATION); - } catch (JSONException e) { - return false; - } - } +public class ProviderDetailActivity extends AbstractProviderDetailActivity { @Override public void onBackPressed() { -- cgit v1.2.3 From 1690dec51d78a27a6a1f7c83d30b28d1ab432f93 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Sat, 13 Jan 2018 16:53:54 +0100 Subject: static constant imports --- .../insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java') diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java index 8de97420..6977753f 100644 --- a/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java +++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderDetailActivity.java @@ -2,12 +2,15 @@ package se.leap.bitmaskclient; import android.content.SharedPreferences; +import static se.leap.bitmaskclient.Constants.PROVIDER_ALLOW_ANONYMOUS; +import static se.leap.bitmaskclient.Constants.PROVIDER_KEY; + public class ProviderDetailActivity extends AbstractProviderDetailActivity { @Override public void onBackPressed() { SharedPreferences.Editor editor = preferences.edit(); - editor.remove(Provider.KEY).remove(ProviderListContent.ProviderItem.DANGER_ON).remove(Constants.PROVIDER_ALLOW_ANONYMOUS).remove(Constants.PROVIDER_KEY).apply(); + editor.remove(Provider.KEY).remove(ProviderListContent.ProviderItem.DANGER_ON).remove(PROVIDER_ALLOW_ANONYMOUS).remove(PROVIDER_KEY).apply(); super.onBackPressed(); } -- cgit v1.2.3