summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java59
1 files changed, 34 insertions, 25 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java b/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java
index d521a3a9..fbb27b58 100644
--- a/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java
@@ -4,6 +4,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.support.v7.widget.AppCompatTextView;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
@@ -20,22 +21,14 @@ import butterknife.InjectView;
import static se.leap.bitmaskclient.Constants.PROVIDER_ALLOW_ANONYMOUS;
import static se.leap.bitmaskclient.Constants.PROVIDER_KEY;
-import static se.leap.bitmaskclient.Constants.SHARED_PREFERENCES;
-import static se.leap.bitmaskclient.MainActivity.ACTION_SHOW_VPN_FRAGMENT;
+import static se.leap.bitmaskclient.Constants.REQUEST_CODE_CONFIGURE_LEAP;
-public abstract class AbstractProviderDetailActivity extends ButterKnifeActivity {
+public abstract class AbstractProviderDetailActivity extends ConfigWizardBaseActivity {
final public static String TAG = "providerDetailActivity";
- protected 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;
+ AppCompatTextView description;
@InjectView(R.id.provider_detail_options)
ListView options;
@@ -43,22 +36,18 @@ public abstract class AbstractProviderDetailActivity extends ButterKnifeActivity
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.provider_detail_fragment);
+ setContentView(R.layout.a_provider_detail);
- preferences = getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE);
try {
JSONObject providerJson = new JSONObject(preferences.getString(Provider.KEY, ""));
- domain.setText(providerJson.getString(Provider.DOMAIN));
- name.setText(providerJson.getJSONObject(Provider.NAME).getString("en"));
- description.setText(providerJson.getJSONObject(Provider.DESCRIPTION).getString("en"));
-
- setTitle(R.string.provider_details_title);
+ setProviderHeaderText(ConfigHelper.getProviderName(preferences));
+ description.setText(ConfigHelper.getDescription(preferences));
// Show only the options allowed by the provider
ArrayList<String> optionsList = new ArrayList<>();
if (registrationAllowed(providerJson)) {
- optionsList.add(getString(R.string.login_button));
- optionsList.add(getString(R.string.signup_button));
+ optionsList.add(getString(R.string.login_to_profile));
+ optionsList.add(getString(R.string.create_profile));
}
if (anonAllowed(providerJson)) {
optionsList.add(getString(R.string.use_anonymously_button));
@@ -75,19 +64,23 @@ public abstract class AbstractProviderDetailActivity extends ButterKnifeActivity
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))) {
+ if (text.equals(getString(R.string.login_to_profile))) {
Log.d(TAG, "login selected");
intent = new Intent(getApplicationContext(), LoginActivity.class);
- } else if (text.equals(getString(R.string.signup_button))) {
+ } else if (text.equals(getString(R.string.create_profile))) {
Log.d(TAG, "signup selected");
intent = new Intent(getApplicationContext(), SignupActivity.class);
} else {
Log.d(TAG, "use anonymously selected");
- intent = new Intent(getApplicationContext(), MainActivity.class);
- intent.setAction(ACTION_SHOW_VPN_FRAGMENT);
+ intent = new Intent();
+ intent.putExtra(Provider.KEY, provider);
+ setResult(RESULT_OK, intent);
+ finish();
+ return;
}
+ intent.putExtra(PROVIDER_KEY, provider);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
- startActivity(intent);
+ startActivityForResult(intent, REQUEST_CODE_CONFIGURE_LEAP);
}
});
} catch (JSONException e) {
@@ -95,6 +88,22 @@ public abstract class AbstractProviderDetailActivity extends ButterKnifeActivity
}
}
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ provider = intent.getParcelableExtra(PROVIDER_KEY);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == REQUEST_CODE_CONFIGURE_LEAP) {
+ if (resultCode == RESULT_OK) {
+ setResult(resultCode, data);
+ finish();
+ }
+ }
+ }
+
private boolean anonAllowed(JSONObject providerJson) {
try {
JSONObject serviceDescription = providerJson.getJSONObject(Provider.SERVICE);