Search in sources :

Example 1 with TwitterAuthClient

use of com.twitter.sdk.android.core.identity.TwitterAuthClient in project xabber-android by redsolution.

the class BaseLoginActivity method initTwitterAuth.

private void initTwitterAuth() {
    if (twitterAuthClient != null && twitterSessionCallback != null)
        return;
    TwitterConfig config = new TwitterConfig.Builder(this).logger(new DefaultLogger(Log.DEBUG)).twitterAuthConfig(new TwitterAuthConfig(getResources().getString(R.string.SOCIAL_AUTH_TWITTER_KEY), getResources().getString(R.string.SOCIAL_AUTH_TWITTER_SECRET))).debug(true).build();
    Twitter.initialize(config);
    twitterAuthClient = new TwitterAuthClient();
    twitterSessionCallback = new Callback<TwitterSession>() {

        @Override
        public void success(Result<TwitterSession> result) {
            String token = result.data.getAuthToken().token;
            String secret = result.data.getAuthToken().secret;
            if (token != null && secret != null) {
                String credentials = gson.toJson(new AuthManager.TwitterAccessToken(new AuthManager.TwitterTokens(secret, token), getResources().getString(R.string.SOCIAL_AUTH_TWITTER_SECRET), getResources().getString(R.string.SOCIAL_AUTH_TWITTER_KEY)));
                onSocialAuthSuccess(AuthManager.PROVIDER_TWITTER, credentials);
            }
        }

        @Override
        public void failure(TwitterException exception) {
            Toast.makeText(BaseLoginActivity.this, R.string.auth_twitter_error, Toast.LENGTH_SHORT).show();
        }
    };
}
Also used : TwitterSession(com.twitter.sdk.android.core.TwitterSession) AuthManager(com.xabber.android.data.xaccount.AuthManager) TwitterAuthConfig(com.twitter.sdk.android.core.TwitterAuthConfig) TwitterAuthClient(com.twitter.sdk.android.core.identity.TwitterAuthClient) DefaultLogger(com.twitter.sdk.android.core.DefaultLogger) TwitterException(com.twitter.sdk.android.core.TwitterException) TwitterConfig(com.twitter.sdk.android.core.TwitterConfig)

Example 2 with TwitterAuthClient

use of com.twitter.sdk.android.core.identity.TwitterAuthClient in project ServiceStack.Java by ServiceStack.

the class LoginActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Fabric.with(this, new Twitter(new TwitterAuthConfig(getString(R.string.twitter_key), getString(R.string.twitter_secret))));
    setContentView(R.layout.login);
    Toolbar toolbar = (Toolbar) findViewById(R.id.loginToolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(true);
    progressBar = (ProgressBar) findViewById(R.id.progressBar);
    txtStatus = (TextView) findViewById(R.id.txtStatus);
    UiHelpers.setStatus(txtStatus, "");
    // see this max value coming back here, we animale towards that value
    animation = ObjectAnimator.ofInt(progressBar, "progress", 0, 500);
    animation.setRepeatMode(ValueAnimator.REVERSE);
    animation.setRepeatCount(100);
    animation.setDuration(1500);
    animation.setInterpolator(new FastOutLinearInInterpolator());
    LoginActivity activity = this;
    ImageButton btnTwitter = (ImageButton) findViewById(R.id.btnTwitter);
    twitterAuth = new TwitterAuthClient();
    btnTwitter.setOnClickListener(view -> {
        startProgressBar();
        twitterAuth.authorize(activity, new Callback<TwitterSession>() {

            @Override
            public void success(Result<TwitterSession> result) {
                UiHelpers.setStatus(txtStatus, "Local twitter sign-in successful, signing into server...");
                TwitterSession session = result.data;
                App.get().getServiceClient().postAsync(new dtos.Authenticate().setProvider("twitter").setAccessToken(session.getAuthToken().token).setAccessTokenSecret(session.getAuthToken().secret).setRememberMe(true), r -> {
                    UiHelpers.setStatus(txtStatus, "Server twitter sign-in successful, opening chat...");
                    App.get().saveTwitterAccessToken(session.getAuthToken());
                    Intent intent = new Intent(activity, MainActivity.class);
                    stopProgressBar();
                    startActivity(intent);
                }, error -> {
                    UiHelpers.setStatusError(txtStatus, "Server twitter sign-in failed", error);
                    stopProgressBar();
                });
            }

            @Override
            public void failure(TwitterException exception) {
                exception.printStackTrace();
                stopProgressBar();
            }
        });
    });
    facebookCallback = CallbackManager.Factory.create();
    LoginManager.getInstance().registerCallback(facebookCallback, new FacebookCallback<LoginResult>() {

        @Override
        public void onSuccess(LoginResult loginResult) {
            UiHelpers.setStatus(txtStatus, "Local facebook sign-in successful, signing into server...");
            App.get().getServiceClient().postAsync(new dtos.Authenticate().setProvider("facebook").setAccessToken(loginResult.getAccessToken().getToken()).setRememberMe(true), r -> {
                UiHelpers.setStatus(txtStatus, "Server facebook sign-in successful, opening chat...");
                Intent intent = new Intent(activity, MainActivity.class);
                stopProgressBar();
                startActivity(intent);
            }, error -> {
                UiHelpers.setStatusError(txtStatus, "Server facebook sign-in failed", error);
                stopProgressBar();
            });
        }

        @Override
        public void onCancel() {
            stopProgressBar();
        }

        @Override
        public void onError(FacebookException exception) {
            Log.e(exception);
            stopProgressBar();
        }
    });
    ImageButton btnFacebook = (ImageButton) findViewById(R.id.btnFacebook);
    btnFacebook.setOnClickListener(view -> {
        startProgressBar();
        LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email"));
    });
    ImageButton btnAnon = (ImageButton) findViewById(R.id.btnAnon);
    btnAnon.setOnClickListener(view -> {
        UiHelpers.setStatus(txtStatus, "Opening chat as guest...");
        startGuestChatActivity(App.get().getServiceClient());
    });
    dtos.Authenticate authDto = App.get().getSavedAccessToken();
    if (authDto != null) {
        UiHelpers.setStatus(txtStatus, "Signing in with saved " + authDto.getProvider() + " AccessToken...");
        App.get().getServiceClient().postAsync(authDto, r -> {
            Intent intent = new Intent(activity, MainActivity.class);
            stopProgressBar();
            startActivity(intent);
        }, error -> {
            UiHelpers.setStatusError(txtStatus, "Error logging into " + authDto.getProvider() + " using Saved AccessToken", error);
            stopProgressBar();
        });
    }
}
Also used : Result(com.twitter.sdk.android.core.Result) ImageButton(android.widget.ImageButton) Text(org.w3c.dom.Text) Arrays(java.util.Arrays) Bundle(android.os.Bundle) ProgressBar(android.widget.ProgressBar) Intent(android.content.Intent) Twitter(com.twitter.sdk.android.Twitter) TwitterAuthConfig(com.twitter.sdk.android.core.TwitterAuthConfig) TwitterException(com.twitter.sdk.android.core.TwitterException) View(android.view.View) AccessToken(com.facebook.AccessToken) FacebookException(com.facebook.FacebookException) ObjectAnimator(android.animation.ObjectAnimator) LoginResult(com.facebook.login.LoginResult) AppCompatActivity(android.support.v7.app.AppCompatActivity) FacebookCallback(com.facebook.FacebookCallback) CallbackManager(com.facebook.CallbackManager) LoginManager(com.facebook.login.LoginManager) TwitterAuthClient(com.twitter.sdk.android.core.identity.TwitterAuthClient) TextView(android.widget.TextView) Callback(com.twitter.sdk.android.core.Callback) AndroidServiceClient(net.servicestack.android.AndroidServiceClient) FastOutLinearInInterpolator(android.support.v4.view.animation.FastOutLinearInInterpolator) Toolbar(android.support.v7.widget.Toolbar) Fabric(io.fabric.sdk.android.Fabric) Log(net.servicestack.client.Log) ValueAnimator(android.animation.ValueAnimator) TwitterSession(com.twitter.sdk.android.core.TwitterSession) TwitterSession(com.twitter.sdk.android.core.TwitterSession) LoginResult(com.facebook.login.LoginResult) FastOutLinearInInterpolator(android.support.v4.view.animation.FastOutLinearInInterpolator) Twitter(com.twitter.sdk.android.Twitter) TwitterAuthConfig(com.twitter.sdk.android.core.TwitterAuthConfig) Intent(android.content.Intent) TwitterAuthClient(com.twitter.sdk.android.core.identity.TwitterAuthClient) ImageButton(android.widget.ImageButton) FacebookException(com.facebook.FacebookException) TwitterException(com.twitter.sdk.android.core.TwitterException) Toolbar(android.support.v7.widget.Toolbar)

Aggregations

TwitterAuthConfig (com.twitter.sdk.android.core.TwitterAuthConfig)2 TwitterException (com.twitter.sdk.android.core.TwitterException)2 TwitterSession (com.twitter.sdk.android.core.TwitterSession)2 TwitterAuthClient (com.twitter.sdk.android.core.identity.TwitterAuthClient)2 ObjectAnimator (android.animation.ObjectAnimator)1 ValueAnimator (android.animation.ValueAnimator)1 Intent (android.content.Intent)1 Bundle (android.os.Bundle)1 FastOutLinearInInterpolator (android.support.v4.view.animation.FastOutLinearInInterpolator)1 AppCompatActivity (android.support.v7.app.AppCompatActivity)1 Toolbar (android.support.v7.widget.Toolbar)1 View (android.view.View)1 ImageButton (android.widget.ImageButton)1 ProgressBar (android.widget.ProgressBar)1 TextView (android.widget.TextView)1 AccessToken (com.facebook.AccessToken)1 CallbackManager (com.facebook.CallbackManager)1 FacebookCallback (com.facebook.FacebookCallback)1 FacebookException (com.facebook.FacebookException)1 LoginManager (com.facebook.login.LoginManager)1