use of com.applozic.mobicomkit.listners.AlPushNotificationHandler in project Applozic-Android-SDK by AppLozic.
the class LoginActivity method attemptLogin.
/**
* Attempts to sign in or register the account specified by the login form.
* If there are form errors (invalid email, missing fields, etc.), the
* errors are presented and no actual login attempt is made.
*/
public void attemptLogin(User.AuthenticationType authenticationType) {
if (mAuthTask != null) {
return;
}
// Reset errors.
mUserIdView.setError(null);
mEmailView.setError(null);
mPasswordView.setError(null);
mDisplayName.setError(null);
// Store values at the time of the login attempt.
String email = mEmailView.getText().toString();
String phoneNumber = mPhoneNumberView.getText().toString();
String userId = mUserIdView.getText().toString().trim();
String password = mPasswordView.getText().toString();
String displayName = mDisplayName.getText().toString();
boolean cancel = false;
View focusView = null;
if (TextUtils.isEmpty(mUserIdView.getText().toString()) || mUserIdView.getText().toString().trim().length() == 0) {
mUserIdView.setError(getString(R.string.error_field_required));
focusView = mUserIdView;
cancel = true;
}
// Check for a valid email address.
if (TextUtils.isEmpty(email)) {
/*mEmailView.setError(getString(R.string.error_field_required));
focusView = mEmailView;
cancel = true;*/
} else if (!isEmailValid(email)) {
mEmailView.setError(getString(R.string.error_invalid_email));
focusView = mEmailView;
cancel = true;
}
if (cancel) {
// There was an error; don't attempt login and focus the first
// form field with an error.
focusView.requestFocus();
} else {
// Show a progress spinner, and kick off a background task to
// perform the user login attempt.
showProgress(true);
// callback for login process
User user = new User();
user.setUserId(userId);
user.setEmail(email);
user.setPassword(password);
user.setDisplayName(displayName);
user.setContactNumber(phoneNumber);
user.setAuthenticationTypeId(authenticationType.getValue());
Applozic.connectUser(this, user, new AlLoginHandler() {
@Override
public void onSuccess(@NonNull RegistrationResponse registrationResponse, final Context context) {
// After successful registration with Applozic server the callback will come here
mAuthTask = null;
showProgress(false);
// Basic setting for context based chat enable...
ApplozicClient.getInstance(context).setContextBasedChat(true);
Map<ApplozicSetting.RequestCode, String> activityCallbacks = new HashMap<ApplozicSetting.RequestCode, String>();
activityCallbacks.put(ApplozicSetting.RequestCode.USER_LOOUT, LoginActivity.class.getName());
ApplozicSetting.getInstance(context).setActivityCallbacks(activityCallbacks);
buildContactData();
// Start FCM registration....
AlTask.execute(new PushNotificationTask(context, Applozic.Store.getDeviceRegistrationId(context), new AlPushNotificationHandler() {
@Override
public void onSuccess(RegistrationResponse registrationResponse) {
}
@Override
public void onFailure(RegistrationResponse registrationResponse, Exception exception) {
}
}));
// starting main MainActivity
Intent mainActvity = new Intent(context, MainActivity.class);
startActivity(mainActvity);
Intent intent = new Intent(context, ConversationActivity.class);
if (ApplozicClient.getInstance(LoginActivity.this).isContextBasedChat()) {
intent.putExtra(ConversationUIService.CONTEXT_BASED_CHAT, true);
}
startActivity(intent);
finish();
}
@Override
public void onFailure(RegistrationResponse registrationResponse, Exception exception) {
// If any failure in registration the callback will come here
mAuthTask = null;
showProgress(false);
mEmailSignInButton.setVisibility(View.VISIBLE);
AlertDialog alertDialog = new AlertDialog.Builder(LoginActivity.this).create();
alertDialog.setTitle(getString(R.string.text_alert));
alertDialog.setMessage(exception == null ? registrationResponse.getMessage() : exception.getMessage());
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, getString(R.string.ok_alert), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
if (!isFinishing()) {
alertDialog.show();
}
}
});
mEmailSignInButton.setVisibility(View.INVISIBLE);
mSpinnerView.setVisibility(View.INVISIBLE);
}
}
Aggregations