in core-android/src/main/java/com/uber/sdk/android/core/auth/LoginManager.java [169:198]
public void login(final @NonNull Activity activity) {
boolean hasScopes = (sessionConfiguration.getScopes() != null && !sessionConfiguration.getScopes().isEmpty())
|| (sessionConfiguration.getCustomScopes() != null && !sessionConfiguration.getCustomScopes().isEmpty());
checkState(hasScopes, "Scopes must be set in the Session Configuration.");
checkNotNull(sessionConfiguration.getRedirectUri(),
"Redirect URI must be set in Session Configuration.");
if (!legacyUriRedirectHandler.checkValidState(activity, this)) {
return;
}
SsoDeeplink ssoDeeplink = getSsoDeeplink(activity);
if (ssoDeeplink.isSupported(SsoDeeplink.FlowVersion.REDIRECT_TO_SDK)) {
Intent intent = LoginActivity.newIntent(
activity,
productFlowPriority,
sessionConfiguration,
ResponseType.TOKEN,
false,
true,
true);
activity.startActivityForResult(intent, requestCode);
} else if (ssoDeeplink.isSupported(SsoDeeplink.FlowVersion.DEFAULT)) {
ssoDeeplink.execute(SsoDeeplink.FlowVersion.DEFAULT);
} else if (isAuthCodeFlowEnabled()) {
loginForAuthorizationCode(activity);
} else {
loginForImplicitGrantWithFallback(activity);
}
}