use of com.facebook.login.LoginResult 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();
});
}
}
use of com.facebook.login.LoginResult in project Parse-SDK-Android by ParsePlatform.
the class FacebookControllerTest method testAuthenticateAsyncCancel.
@Test
@SuppressWarnings("unchecked")
public void testAuthenticateAsyncCancel() {
FacebookController.FacebookSdkDelegate facebookSdk = mock(FacebookController.FacebookSdkDelegate.class);
LoginManager loginManager = mock(LoginManager.class);
CallbackManager callbackManager = mock(CallbackManager.class);
when(facebookSdk.getLoginManager()).thenReturn(loginManager);
when(facebookSdk.createCallbackManager()).thenReturn(callbackManager);
FacebookController controller = new FacebookController(facebookSdk);
Collection<String> permissions = new ArrayList<>();
Task<Map<String, String>> task = controller.authenticateAsync(mock(Activity.class), null, FacebookController.LoginAuthorizationType.READ, permissions);
ArgumentCaptor<FacebookCallback> callbackCapture = ArgumentCaptor.forClass(FacebookCallback.class);
verify(loginManager).registerCallback(eq(callbackManager), (FacebookCallback<LoginResult>) callbackCapture.capture());
FacebookCallback<LoginResult> callback = callbackCapture.getValue();
callback.onCancel();
assertTrue(task.isCancelled());
}
use of com.facebook.login.LoginResult in project facebook-android-sdk by facebook.
the class HelloFacebookSampleActivity method onCreate.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
handlePendingAction();
updateUI();
}
@Override
public void onCancel() {
if (pendingAction != PendingAction.NONE) {
showAlert();
pendingAction = PendingAction.NONE;
}
updateUI();
}
@Override
public void onError(FacebookException exception) {
if (pendingAction != PendingAction.NONE && exception instanceof FacebookAuthorizationException) {
showAlert();
pendingAction = PendingAction.NONE;
}
updateUI();
}
private void showAlert() {
new AlertDialog.Builder(HelloFacebookSampleActivity.this).setTitle(R.string.cancelled).setMessage(R.string.permission_not_granted).setPositiveButton(R.string.ok, null).show();
}
});
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, shareCallback);
if (savedInstanceState != null) {
String name = savedInstanceState.getString(PENDING_ACTION_BUNDLE_KEY);
pendingAction = PendingAction.valueOf(name);
}
setContentView(R.layout.main);
profileTracker = new ProfileTracker() {
@Override
protected void onCurrentProfileChanged(Profile oldProfile, Profile currentProfile) {
updateUI();
// It's possible that we were waiting for Profile to be populated in order to
// post a status update.
handlePendingAction();
}
};
profilePictureView = (ProfilePictureView) findViewById(R.id.profilePicture);
greeting = (TextView) findViewById(R.id.greeting);
postStatusUpdateButton = (Button) findViewById(R.id.postStatusUpdateButton);
postStatusUpdateButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
onClickPostStatusUpdate();
}
});
postPhotoButton = (Button) findViewById(R.id.postPhotoButton);
postPhotoButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
onClickPostPhoto();
}
});
// Can we present the share dialog for regular links?
canPresentShareDialog = ShareDialog.canShow(ShareLinkContent.class);
// Can we present the share dialog for photos?
canPresentShareDialogWithPhotos = ShareDialog.canShow(SharePhotoContent.class);
}
use of com.facebook.login.LoginResult in project facebook-android-sdk by facebook.
the class RpsFragment method onCreate.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
wins = savedInstanceState.getInt(WIN_KEY);
losses = savedInstanceState.getInt(LOSS_KEY);
ties = savedInstanceState.getInt(TIE_KEY);
computerChoice = savedInstanceState.getInt(COMPUTER_CHOICE_KEY);
playerChoice = savedInstanceState.getInt(PLAYER_CHOICE_KEY);
currentState = (RpsState) savedInstanceState.getSerializable(STATE_KEY);
result = (RpsResult) savedInstanceState.getSerializable(RESULT_KEY);
pendingPublish = savedInstanceState.getBoolean(PENDING_PUBLISH_KEY);
shouldImplicitlyPublish = savedInstanceState.getBoolean(IMPLICIT_PUBLISH_KEY);
}
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
if (accessToken.getPermissions().contains(ADDITIONAL_PERMISSIONS)) {
publishResult();
} else {
handleError();
}
}
@Override
public void onCancel() {
handleError();
}
@Override
public void onError(FacebookException exception) {
handleError();
}
private void handleError() {
// this means the user did not grant us write permissions, so
// we don't do implicit publishes
shouldImplicitlyPublish = false;
pendingPublish = false;
}
});
FacebookCallback<Sharer.Result> callback = new FacebookCallback<Sharer.Result>() {
@Override
public void onCancel() {
Log.d(TAG, "Canceled");
}
@Override
public void onError(FacebookException error) {
Log.d(TAG, String.format("Error: %s", error.toString()));
}
@Override
public void onSuccess(Sharer.Result result) {
Log.d(TAG, "Success!");
}
};
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, callback);
messageDialog = new MessageDialog(this);
messageDialog.registerCallback(callbackManager, callback);
FacebookCallback<AppInviteDialog.Result> appInviteCallback = new FacebookCallback<AppInviteDialog.Result>() {
@Override
public void onSuccess(AppInviteDialog.Result result) {
Log.d(TAG, "Success!");
}
@Override
public void onCancel() {
Log.d(TAG, "Canceled");
}
@Override
public void onError(FacebookException error) {
Log.d(TAG, String.format("Error: %s", error.toString()));
}
};
appInviteDialog = new AppInviteDialog(this);
appInviteDialog.registerCallback(callbackManager, appInviteCallback);
// Initialize in-app billing service
serviceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
inAppBillingService = null;
Utility.logd(TAG, "In-app billing service disconnected");
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
inAppBillingService = IInAppBillingService.Stub.asInterface(service);
Utility.logd(TAG, "In app billing service connected");
try {
Bundle ownedItems = inAppBillingService.getPurchases(IN_APP_PURCHASE_VERSION, context.getPackageName(), "inapp", null);
int response = ownedItems.getInt("RESPONSE_CODE");
if (response == 0) {
ArrayList<String> ownedSkus = ownedItems.getStringArrayList(INAPP_PURCHASE_ITEM_LIST);
ArrayList<String> purchaseDataList = ownedItems.getStringArrayList(INAPP_PURCHASE_DATA_LIST);
ArrayList<String> signatureList = ownedItems.getStringArrayList(INAPP_DATA_SIGNATURE_LIST);
for (int i = 0; i < purchaseDataList.size(); ++i) {
String purchaseData = purchaseDataList.get(i);
try {
JSONObject jo = new JSONObject(purchaseData);
String token = jo.getString("purchaseToken");
consumePurchase(context.getPackageName(), token);
} catch (JSONException e) {
Log.e(TAG, "Error parsing purchase data.", e);
}
}
}
} catch (RemoteException e) {
Log.e(TAG, "Consuming purchase remote exception.", e);
}
}
};
context = this.getActivity().getApplicationContext();
Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
context.bindService(serviceIntent, serviceConnection, Context.BIND_AUTO_CREATE);
}
use of com.facebook.login.LoginResult in project react-native-fbsdk by facebook.
the class RCTLoginButton method init.
public void init() {
mAccessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
if (currentAccessToken == null) {
WritableMap event = Arguments.createMap();
event.putString("type", "logoutFinished");
ReactContext context = (ReactContext) getContext();
context.getJSModule(RCTEventEmitter.class).receiveEvent(getId(), "topChange", event);
}
}
};
this.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
WritableMap event = Arguments.createMap();
event.putString("type", "loginFinished");
event.putString("error", null);
WritableMap result = Arguments.createMap();
result.putBoolean("isCancelled", false);
result.putArray("grantedPermissions", Arguments.fromJavaArgs(setToStringArray(loginResult.getRecentlyGrantedPermissions())));
result.putArray("declinedPermissions", Arguments.fromJavaArgs(setToStringArray(loginResult.getRecentlyDeniedPermissions())));
event.putMap("result", result);
ReactContext context = (ReactContext) getContext();
context.getJSModule(RCTEventEmitter.class).receiveEvent(getId(), "topChange", event);
}
@Override
public void onError(FacebookException error) {
WritableMap event = Arguments.createMap();
event.putString("type", "loginFinished");
event.putString("error", error.toString());
WritableMap result = Arguments.createMap();
result.putBoolean("isCancelled", false);
event.putMap("result", result);
ReactContext context = (ReactContext) getContext();
context.getJSModule(RCTEventEmitter.class).receiveEvent(getId(), "topChange", event);
}
@Override
public void onCancel() {
WritableMap event = Arguments.createMap();
event.putString("type", "loginFinished");
event.putString("error", null);
WritableMap result = Arguments.createMap();
result.putBoolean("isCancelled", true);
event.putMap("result", result);
ReactContext context = (ReactContext) getContext();
context.getJSModule(RCTEventEmitter.class).receiveEvent(getId(), "topChange", event);
}
});
}
Aggregations