Search in sources :

Example 1 with LoginException

use of org.edx.mobile.exception.LoginException in project edx-app-android by edx.

the class LoginActivity method callServerForLogin.

public void callServerForLogin() {
    if (!NetworkUtil.isConnected(this)) {
        showAlertDialog(getString(R.string.no_connectivity), getString(R.string.network_not_connected));
        return;
    }
    final String emailStr = activityLoginBinding.emailEt.getText().toString().trim();
    final String passwordStr = activityLoginBinding.passwordEt.getText().toString().trim();
    if (activityLoginBinding.emailEt != null && emailStr.length() == 0) {
        showAlertDialog(getString(R.string.login_error), getString(R.string.error_enter_email));
        activityLoginBinding.emailEt.requestFocus();
    } else if (activityLoginBinding.passwordEt != null && passwordStr.length() == 0) {
        showAlertDialog(getString(R.string.login_error), getString(R.string.error_enter_password));
        activityLoginBinding.passwordEt.requestFocus();
    } else {
        activityLoginBinding.emailEt.setEnabled(false);
        activityLoginBinding.passwordEt.setEnabled(false);
        activityLoginBinding.forgotPasswordTv.setEnabled(false);
        activityLoginBinding.endUserAgreementTv.setEnabled(false);
        LoginTask logintask = new LoginTask(this, activityLoginBinding.emailEt.getText().toString().trim(), activityLoginBinding.passwordEt.getText().toString()) {

            @Override
            public void onSuccess(@NonNull AuthResponse result) {
                onUserLoginSuccess(result.profile);
            }

            @Override
            public void onException(Exception ex) {
                if (ex instanceof HttpStatusException && ((HttpStatusException) ex).getStatusCode() == HttpStatus.UNAUTHORIZED) {
                    onUserLoginFailure(new LoginException(new LoginErrorMessage(getString(R.string.login_error), getString(R.string.login_failed))), null, null);
                } else {
                    onUserLoginFailure(ex, null, null);
                }
            }
        };
        tryToSetUIInteraction(false);
        logintask.setProgressDialog(activityLoginBinding.progress.progressIndicator);
        logintask.execute();
    }
}
Also used : LoginErrorMessage(org.edx.mobile.exception.LoginErrorMessage) LoginTask(org.edx.mobile.authentication.LoginTask) HttpStatusException(org.edx.mobile.http.HttpStatusException) LoginException(org.edx.mobile.exception.LoginException) LoginException(org.edx.mobile.exception.LoginException) HttpStatusException(org.edx.mobile.http.HttpStatusException) AuthResponse(org.edx.mobile.authentication.AuthResponse)

Example 2 with LoginException

use of org.edx.mobile.exception.LoginException in project edx-app-android by edx.

the class LoginActivity method onUserLoginFailure.

public void onUserLoginFailure(Exception ex, String accessToken, String backend) {
    tryToSetUIInteraction(true);
    if (ex != null && ex instanceof LoginException) {
        LoginErrorMessage errorMessage = (((LoginException) ex).getLoginErrorMessage());
        showAlertDialog(errorMessage.getMessageLine1(), (errorMessage.getMessageLine2() != null) ? errorMessage.getMessageLine2() : getString(R.string.login_failed));
    } else if (ex != null && ex instanceof HttpStatusException && ((HttpStatusException) ex).getStatusCode() == HttpStatus.UPGRADE_REQUIRED) {
        LoginActivity.this.showAlertDialog(null, getString(R.string.app_version_unsupported_login_msg), getString(R.string.label_update), new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                AppStoreUtils.openAppInAppStore(LoginActivity.this);
            }
        }, getString(android.R.string.cancel), null);
    } else {
        showAlertDialog(getString(R.string.login_error), ErrorUtils.getErrorMessage(ex, LoginActivity.this));
        logger.error(ex);
    }
}
Also used : LoginErrorMessage(org.edx.mobile.exception.LoginErrorMessage) DialogInterface(android.content.DialogInterface) LoginException(org.edx.mobile.exception.LoginException) HttpStatusException(org.edx.mobile.http.HttpStatusException) OnClickListener(android.view.View.OnClickListener)

Aggregations

LoginErrorMessage (org.edx.mobile.exception.LoginErrorMessage)2 LoginException (org.edx.mobile.exception.LoginException)2 HttpStatusException (org.edx.mobile.http.HttpStatusException)2 DialogInterface (android.content.DialogInterface)1 OnClickListener (android.view.View.OnClickListener)1 AuthResponse (org.edx.mobile.authentication.AuthResponse)1 LoginTask (org.edx.mobile.authentication.LoginTask)1