use of com.google.android.gms.auth.api.signin.GoogleSignInAccount in project WordPress-Login-Flow-Android by wordpress-mobile.
the class SignupGoogleFragment method onActivityResult.
@Override
public void onActivityResult(int request, int result, Intent data) {
super.onActivityResult(request, result, data);
switch(request) {
case REQUEST_SIGNUP:
disconnectGoogleClient();
mSignupRequested = false;
if (result == RESULT_OK) {
GoogleSignInResult signInResult = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (signInResult.isSuccess()) {
AppLog.d(T.MAIN, "GOOGLE SIGNUP: sign up result returned - succcess");
try {
GoogleSignInAccount account = signInResult.getSignInAccount();
if (account != null) {
mDisplayName = account.getDisplayName() != null ? account.getDisplayName() : "";
mGoogleEmail = account.getEmail() != null ? account.getEmail() : "";
mIdToken = account.getIdToken() != null ? account.getIdToken() : "";
mPhotoUrl = removeScaleFromGooglePhotoUrl(account.getPhotoUrl() != null ? account.getPhotoUrl().toString() : "");
}
AppLog.d(T.MAIN, "GOOGLE SIGNUP: sign up result returned - dispatching SocialSignupAction");
dispatchSocialSignup(mIdToken);
} catch (NullPointerException exception) {
AppLog.d(T.MAIN, "GOOGLE SIGNUP: sign up result returned - NPE");
AppLog.e(T.NUX, "Cannot get ID token from Google signup account.", exception);
showError(getString(R.string.login_error_generic));
}
} else {
AppLog.d(T.MAIN, "GOOGLE SIGNUP: sign up result returned - error");
mAnalyticsListener.trackSignupSocialButtonFailure();
switch(signInResult.getStatus().getStatusCode()) {
// Internal error.
case GoogleSignInStatusCodes.INTERNAL_ERROR:
AppLog.e(T.NUX, "Google Signup Failed: internal error.");
showError(getString(R.string.login_error_generic));
break;
// Attempted to connect with an invalid account name specified.
case GoogleSignInStatusCodes.INVALID_ACCOUNT:
AppLog.e(T.NUX, "Google Signup Failed: invalid account name.");
showError(getString(R.string.login_error_generic) + getString(R.string.login_error_suffix));
break;
// Network error.
case GoogleSignInStatusCodes.NETWORK_ERROR:
AppLog.e(T.NUX, "Google Signup Failed: network error.");
showError(getString(R.string.error_generic_network));
break;
// Cancelled by the user.
case GoogleSignInStatusCodes.SIGN_IN_CANCELLED:
AppLog.e(T.NUX, "Google Signup Failed: cancelled by user.");
break;
// Attempt didn't succeed with the current account.
case GoogleSignInStatusCodes.SIGN_IN_FAILED:
AppLog.e(T.NUX, "Google Signup Failed: current account failed.");
showError(getString(R.string.login_error_generic));
break;
// Attempted to connect, but the user is not signed in.
case GoogleSignInStatusCodes.SIGN_IN_REQUIRED:
AppLog.e(T.NUX, "Google Signup Failed: user is not signed in.");
showError(getString(R.string.login_error_generic));
break;
// Timeout error.
case GoogleSignInStatusCodes.TIMEOUT:
AppLog.e(T.NUX, "Google Signup Failed: timeout error.");
showError(getString(R.string.google_error_timeout));
break;
// Unknown error.
default:
AppLog.e(T.NUX, "Google Signup Failed: unknown error.");
showError(getString(R.string.login_error_generic));
break;
}
}
} else if (result == RESULT_CANCELED) {
AppLog.d(T.MAIN, "GOOGLE SIGNUP: sign up result returned - canceled");
mAnalyticsListener.trackSignupSocialButtonFailure();
AppLog.e(T.NUX, "Google Signup Failed: result was CANCELED.");
finishFlow();
} else {
AppLog.d(T.MAIN, "GOOGLE SIGNUP: sign up result returned - unknown");
mAnalyticsListener.trackSignupSocialButtonFailure();
AppLog.e(T.NUX, "Google Signup Failed: result was not OK or CANCELED.");
showError(getString(R.string.login_error_generic));
}
break;
}
}
use of com.google.android.gms.auth.api.signin.GoogleSignInAccount in project WordPress-Login-Flow-Android by wordpress-mobile.
the class LoginGoogleFragment method onActivityResult.
@Override
public void onActivityResult(int request, int result, Intent data) {
super.onActivityResult(request, result, data);
switch(request) {
case REQUEST_LOGIN:
disconnectGoogleClient();
mLoginRequested = false;
if (result == RESULT_OK) {
AppLog.d(T.MAIN, "GOOGLE LOGIN: Google has returned a sign in result - succcess");
GoogleSignInResult loginResult = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (loginResult.isSuccess()) {
try {
GoogleSignInAccount account = loginResult.getSignInAccount();
if (account != null) {
mDisplayName = account.getDisplayName() != null ? account.getDisplayName() : "";
mGoogleEmail = account.getEmail() != null ? account.getEmail() : "";
mGoogleListener.onGoogleEmailSelected(mGoogleEmail);
mIdToken = account.getIdToken() != null ? account.getIdToken() : "";
mPhotoUrl = removeScaleFromGooglePhotoUrl(account.getPhotoUrl() != null ? account.getPhotoUrl().toString() : "");
}
AppLog.d(T.MAIN, "GOOGLE LOGIN: Google has returned a sign in result - dispatching " + "SocialLoginAction");
PushSocialPayload payload = new PushSocialPayload(mIdToken, SERVICE_TYPE_GOOGLE);
mDispatcher.dispatch(AccountActionBuilder.newPushSocialLoginAction(payload));
} catch (NullPointerException exception) {
AppLog.d(T.MAIN, "GOOGLE LOGIN: Google has returned a sign in result - NPE");
AppLog.e(T.NUX, "Cannot get ID token from Google login account.", exception);
showError(getString(R.string.login_error_generic));
}
} else {
AppLog.d(T.MAIN, "GOOGLE LOGIN: Google has returned a sign in result - error");
mAnalyticsListener.trackSocialButtonFailure();
switch(loginResult.getStatus().getStatusCode()) {
// Internal error.
case GoogleSignInStatusCodes.INTERNAL_ERROR:
AppLog.e(T.NUX, "Google Login Failed: internal error.");
showError(getString(R.string.login_error_generic));
break;
// Attempted to connect with an invalid account name specified.
case GoogleSignInStatusCodes.INVALID_ACCOUNT:
AppLog.e(T.NUX, "Google Login Failed: invalid account name.");
showError(getString(R.string.login_error_generic) + getString(R.string.login_error_suffix));
break;
// Network error.
case GoogleSignInStatusCodes.NETWORK_ERROR:
AppLog.e(T.NUX, "Google Login Failed: network error.");
showError(getString(R.string.error_generic_network));
break;
// Cancelled by the user.
case GoogleSignInStatusCodes.SIGN_IN_CANCELLED:
AppLog.e(T.NUX, "Google Login Failed: cancelled by user.");
break;
// Attempt didn't succeed with the current account.
case GoogleSignInStatusCodes.SIGN_IN_FAILED:
AppLog.e(T.NUX, "Google Login Failed: current account failed.");
showError(getString(R.string.login_error_generic));
break;
// Attempted to connect, but the user is not signed in.
case GoogleSignInStatusCodes.SIGN_IN_REQUIRED:
AppLog.e(T.NUX, "Google Login Failed: user is not signed in.");
showError(getString(R.string.login_error_generic));
break;
// Timeout error.
case GoogleSignInStatusCodes.TIMEOUT:
AppLog.e(T.NUX, "Google Login Failed: timeout error.");
showError(getString(R.string.google_error_timeout));
break;
// Unknown error.
default:
AppLog.e(T.NUX, "Google Login Failed: unknown error.");
showError(getString(R.string.login_error_generic));
break;
}
}
} else if (result == RESULT_CANCELED) {
AppLog.d(T.MAIN, "GOOGLE LOGIN: Google has returned a sign in result - canceled");
mAnalyticsListener.trackSocialButtonFailure();
AppLog.e(T.NUX, "Google Login Failed: result was CANCELED.");
finishFlow();
} else {
AppLog.d(T.MAIN, "GOOGLE LOGIN: Google has returned a sign in result - unknown");
mAnalyticsListener.trackSocialButtonFailure();
AppLog.e(T.NUX, "Google Login Failed: result was not OK or CANCELED.");
showError(getString(R.string.login_error_generic));
}
break;
}
}
use of com.google.android.gms.auth.api.signin.GoogleSignInAccount in project ARD by MobileApplicationsClub.
the class AuthHelperForGoogle method handleGoogleSignIn.
/**
* Authenticate using google sign in data.
*
* @param data resulting from {@link AuthActivity#launchGoogleSignIn(Intent)}
*/
public void handleGoogleSignIn(final Intent data) {
if (data == null) {
hostActivity.handleGoogleSignInFailure();
return;
}
final GoogleSignInResult result = getSignInResultFromIntent(data);
if (!result.isSuccess()) {
hostActivity.handleGoogleSignInFailure();
return;
}
final GoogleSignInAccount account = result.getSignInAccount();
if (account == null) {
hostActivity.handleGoogleSignInFailure();
return;
}
signWithCredentials(account);
}
Aggregations