use of com.twitter.sdk.android.core.Callback 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();
});
}
}
use of com.twitter.sdk.android.core.Callback in project ServiceStack.Java by ServiceStack.
the class LoginButtonsActivity 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_buttons);
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());
LoginButtonsActivity activity = this;
btnTwitterLogin = (TwitterLoginButton) findViewById(R.id.btnTwitterLogin);
btnTwitterLogin.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
startProgressBar();
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) {
Log.e(exception);
stopProgressBar();
}
});
facebookCallback = CallbackManager.Factory.create();
btnFacebookLogin = (LoginButton) findViewById(R.id.btnFacebookLogin);
btnFacebookLogin.setReadPermissions("email");
btnFacebookLogin.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();
}
});
Button btnGuestLogin = (Button) findViewById(R.id.btnGuestLogin);
btnGuestLogin.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();
});
}
}
Aggregations