use of com.applozic.mobicomkit.api.account.user.UserLoginTask in project Applozic-Android-SDK by AppLozic.
the class ApplozicBridge method startChatActivity.
/**
* Starts the chat activity if user is not loggedIn then it will login to applozic server and launch the chat-list
* else if user is loggedIn then directly opens chat-list
*
* @param context
* @param user :User object
*/
private static void startChatActivity(Context context, User user) {
if (!MobiComUserPreference.getInstance(context).isLoggedIn()) {
TaskListener listener = new TaskListener() {
@Override
public void onSuccess(RegistrationResponse registrationResponse, Context context) {
// Todo: get pushnotification id.
String pushNotificationId = "";
gcmRegister(context, pushNotificationId);
launchChat(context);
}
@Override
public void onFailure(RegistrationResponse registrationResponse, Exception exception) {
}
};
user = user != null ? user : getLoggedInUserInformation();
new UserLoginTask(user, listener, context).execute((Void) null);
} else {
launchChat(context);
}
}
use of com.applozic.mobicomkit.api.account.user.UserLoginTask 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
final Activity activity = LoginActivity.this;
UserLoginTask.TaskListener listener = new UserLoginTask.TaskListener() {
@Override
public void onSuccess(RegistrationResponse registrationResponse, final Context context) {
mAuthTask = null;
showProgress(false);
// Basic settings...
ApplozicClient.getInstance(context).setContextBasedChat(true).setHandleDial(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);
// Set activity callbacks
/*Map<ApplozicSetting.RequestCode, String> activityCallbacks = new HashMap<ApplozicSetting.RequestCode, String>();
activityCallbacks.put(ApplozicSetting.RequestCode.MESSAGE_TAP, MainActivity.class.getName());
ApplozicSetting.getInstance(context).setActivityCallbacks(activityCallbacks);*/
// Start GCM registration....
PushNotificationTask.TaskListener pushNotificationTaskListener = new PushNotificationTask.TaskListener() {
@Override
public void onSuccess(RegistrationResponse registrationResponse) {
}
@Override
public void onFailure(RegistrationResponse registrationResponse, Exception exception) {
}
};
PushNotificationTask pushNotificationTask = new PushNotificationTask(Applozic.getInstance(context).getDeviceRegistrationId(), pushNotificationTaskListener, context);
pushNotificationTask.execute((Void) null);
buildContactData();
// 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) {
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.toString());
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();
}
}
};
User user = new User();
user.setUserId(userId);
user.setEmail(email);
user.setPassword(password);
user.setDisplayName(displayName);
user.setContactNumber(phoneNumber);
user.setAuthenticationTypeId(authenticationType.getValue());
mAuthTask = new UserLoginTask(user, listener, this);
mEmailSignInButton.setVisibility(View.INVISIBLE);
mSpinnerView.setVisibility(View.INVISIBLE);
mAuthTask.execute((Void) null);
}
}
use of com.applozic.mobicomkit.api.account.user.UserLoginTask in project Applozic-Android-SDK by AppLozic.
the class Applozic method loginUser.
public static void loginUser(Context context, User user, AlLoginHandler loginHandler) {
if (MobiComUserPreference.getInstance(context).isLoggedIn()) {
RegistrationResponse registrationResponse = new RegistrationResponse();
registrationResponse.setMessage("User already Logged in");
loginHandler.onSuccess(registrationResponse, context);
} else {
new UserLoginTask(user, loginHandler, context).execute();
}
}
Aggregations