summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java
diff options
context:
space:
mode:
authorFup Duck <fupduck@sacknagel.com>2018-02-06 17:02:00 +0100
committerFup Duck <fupduck@sacknagel.com>2018-02-06 17:02:00 +0100
commit268a7f205fa09edc145aace8bed30f75270a801f (patch)
treec50db0b7ccdbc879d985d692b99f68f0c273671e /app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java
parentc0848bac7ac44f4b09f9e5d66ab71f079cb0f514 (diff)
8827 - handle switch provider correctly
* ProviderAPI no longer stores values in SharedPreferences * use EipCommand to start / stop EIP * update NavigationDrawer after changing provider * use Broadcasts for ProviderAPI * parse more properties from definition into Provider * ProviderApi no longer uses static variables * no more static Context in ProviderApiCommand
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java58
1 files changed, 27 insertions, 31 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java b/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java
index 25dca4e0..a309bdf9 100644
--- a/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java
@@ -20,17 +20,20 @@ import android.widget.TextView;
import butterknife.InjectView;
import butterknife.OnClick;
-import se.leap.bitmaskclient.userstatus.SessionDialog;
-import se.leap.bitmaskclient.userstatus.SessionDialog.ERRORS;
+import se.leap.bitmaskclient.Constants.CREDENTIAL_ERRORS;
import se.leap.bitmaskclient.userstatus.User;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE;
-import static se.leap.bitmaskclient.ProviderAPI.PROVIDER_API_EVENT;
-import static se.leap.bitmaskclient.ProviderAPI.RESULT_CODE;
-import static se.leap.bitmaskclient.ProviderAPI.RESULT_KEY;
-import static se.leap.bitmaskclient.userstatus.SessionDialog.USERNAME;
+import static se.leap.bitmaskclient.Constants.BROADCAST_PROVIDER_API_EVENT;
+import static se.leap.bitmaskclient.Constants.BROADCAST_RESULT_CODE;
+import static se.leap.bitmaskclient.Constants.BROADCAST_RESULT_KEY;
+import static se.leap.bitmaskclient.Constants.CREDENTIALS_PASSWORD;
+import static se.leap.bitmaskclient.Constants.CREDENTIALS_USERNAME;
+import static se.leap.bitmaskclient.ProviderAPI.DOWNLOAD_CERTIFICATE;
+import static se.leap.bitmaskclient.ProviderAPI.LOG_IN;
+import static se.leap.bitmaskclient.ProviderAPI.SIGN_UP;
/**
* Base Activity for activities concerning a provider interaction
@@ -84,7 +87,7 @@ public abstract class ProviderCredentialsBaseActivity extends ConfigWizardBaseAc
setContentView(R.layout.a_provider_credentials);
providerAPIBroadcastReceiver = new ProviderAPIBroadcastReceiver();
- IntentFilter updateIntentFilter = new IntentFilter(PROVIDER_API_EVENT);
+ IntentFilter updateIntentFilter = new IntentFilter(BROADCAST_PROVIDER_API_EVENT);
updateIntentFilter.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(providerAPIBroadcastReceiver, updateIntentFilter);
@@ -178,34 +181,27 @@ public abstract class ProviderCredentialsBaseActivity extends ConfigWizardBaseAc
void login(String username, String password) {
User.setUserName(username);
- Intent providerAPICommand = new Intent(this, ProviderAPI.class);
- Bundle parameters = bundlePassword(password);
- providerAPICommand.setAction(ProviderAPI.LOG_IN);
- providerAPICommand.putExtra(ProviderAPI.PARAMETERS, parameters);
- startService(providerAPICommand);
+ Bundle parameters = bundleUsernameAndPassword(username, password);
+ ProviderAPICommand.execute(this, LOG_IN, parameters, provider);
}
public void signUp(String username, String password) {
User.setUserName(username);
- Intent providerAPICommand = new Intent(this, ProviderAPI.class);
- Bundle parameters = bundlePassword(password);
- providerAPICommand.setAction(ProviderAPI.SIGN_UP);
- providerAPICommand.putExtra(ProviderAPI.PARAMETERS, parameters);
- startService(providerAPICommand);
+ Bundle parameters = bundleUsernameAndPassword(username, password);
+ ProviderAPICommand.execute(this, SIGN_UP, parameters, provider);
}
void downloadVpnCertificate() {
- Intent providerAPICommand = new Intent(this, ProviderAPI.class);
- providerAPICommand.setAction(ProviderAPI.DOWNLOAD_CERTIFICATE);
- providerAPICommand.putExtra(ProviderAPI.PARAMETERS, Bundle.EMPTY);
- startService(providerAPICommand);
+ ProviderAPICommand.execute(this, DOWNLOAD_CERTIFICATE, provider);
}
- protected Bundle bundlePassword(String password) {
+ protected Bundle bundleUsernameAndPassword(String username, String password) {
Bundle parameters = new Bundle();
+ if (!username.isEmpty())
+ parameters.putString(CREDENTIALS_USERNAME, username);
if (!password.isEmpty())
- parameters.putString(SessionDialog.PASSWORD, password);
+ parameters.putString(CREDENTIALS_PASSWORD, password);
return parameters;
}
@@ -316,17 +312,17 @@ public abstract class ProviderCredentialsBaseActivity extends ConfigWizardBaseAc
}
private void handleReceivedErrors(Bundle arguments) {
- if (arguments.containsKey(ERRORS.PASSWORD_INVALID_LENGTH.toString()))
+ if (arguments.containsKey(CREDENTIAL_ERRORS.PASSWORD_INVALID_LENGTH.toString()))
passwordError.setError(getString(R.string.error_not_valid_password_user_message));
- else if (arguments.containsKey(ERRORS.RISEUP_WARNING.toString())) {
+ else if (arguments.containsKey(CREDENTIAL_ERRORS.RISEUP_WARNING.toString())) {
userMessage.setVisibility(VISIBLE);
userMessage.setText(R.string.login_riseup_warning);
}
- if (arguments.containsKey(USERNAME)) {
- String username = arguments.getString(USERNAME);
+ if (arguments.containsKey(CREDENTIALS_USERNAME)) {
+ String username = arguments.getString(CREDENTIALS_USERNAME);
usernameField.setText(username);
}
- if (arguments.containsKey(ERRORS.USERNAME_MISSING.toString())) {
+ if (arguments.containsKey(CREDENTIAL_ERRORS.USERNAME_MISSING.toString())) {
usernameError.setError(getString(R.string.username_ask));
}
if (arguments.containsKey(getString(R.string.user_message))) {
@@ -356,11 +352,11 @@ public abstract class ProviderCredentialsBaseActivity extends ConfigWizardBaseAc
Log.d(TAG, "received Broadcast");
String action = intent.getAction();
- if (action == null || !action.equalsIgnoreCase(PROVIDER_API_EVENT)) {
+ if (action == null || !action.equalsIgnoreCase(BROADCAST_PROVIDER_API_EVENT)) {
return;
}
- int resultCode = intent.getIntExtra(RESULT_CODE, -1);
+ int resultCode = intent.getIntExtra(BROADCAST_RESULT_CODE, -1);
switch (resultCode) {
case ProviderAPI.SUCCESSFUL_SIGNUP:
case ProviderAPI.SUCCESSFUL_LOGIN:
@@ -368,7 +364,7 @@ public abstract class ProviderCredentialsBaseActivity extends ConfigWizardBaseAc
break;
case ProviderAPI.FAILED_LOGIN:
case ProviderAPI.FAILED_SIGNUP:
- handleReceivedErrors((Bundle) intent.getParcelableExtra(RESULT_KEY));
+ handleReceivedErrors((Bundle) intent.getParcelableExtra(BROADCAST_RESULT_KEY));
break;
case ProviderAPI.CORRECTLY_DOWNLOADED_CERTIFICATE: