core-android/src/main/java/com/uber/sdk/android/core/auth/LoginManager.java
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);
        }
    }
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);
        }
    }
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 ) ; } }
Logs a user in, requesting approval for specified {@link Scope}s.

@param activity the activity used to start the {@link LoginActivity}.
Logs a user in requesting approval for specified { @link Scope } s .