diff options
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java | 59 |
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); |