Ejemplo n.º 1
0
  public static void runAfterFacebookAuthentication(
      final Activity activity,
      final Runnable runOnSuccessAuthentication,
      final Runnable runOnCancelAuthentication) {
    Facebook facebook = FacebookProvider.getFacebook();
    if (facebook.isSessionValid()) {
      runOnSuccessAuthentication.run();
    } else {
      YesNoDialogFragment dialogFragment =
          YesNoDialogFragment.newInstance(
              R.string.share_facbook_authorisation_question,
              new YesNoButtonPressedHandler() {
                @Override
                public void yesButtonPressed(DialogInterface dialog) {
                  AuthListener listener =
                      new SelfRemovingWithDelayAuthListener(runOnSuccessAuthentication);
                  FacebookSessionEvents.addAuthListener(listener);
                  FacebookUtils.loginRequest(activity, MainActivity.AUTHORIZE_ACTIVITY_RESULT_CODE);
                }

                @Override
                public void noButtonPressed(DialogInterface dialog) {
                  if (runOnCancelAuthentication != null) {
                    runOnCancelAuthentication.run();
                  }
                }
              });
      dialogFragment.show(activity);
    }
  }
Ejemplo n.º 2
0
 /**
  * Extend the facebook access token if needed
  *
  * @param context
  */
 public static void extendAceessTokenIfNeeded(Context context) {
   Facebook facebook = FacebookProvider.getFacebook();
   if (facebook != null) {
     if (facebook.isSessionValid()) {
       facebook.extendAccessTokenIfNeeded(context, null);
     }
   }
 }
Ejemplo n.º 3
0
 /**
  * Request the logout for the current facebook session
  *
  * @param activity
  */
 public static void logoutRequest(Activity activity) {
   Facebook mFb = FacebookProvider.getFacebook();
   if (mFb.isSessionValid()) {
     FacebookSessionEvents.onLogoutBegin();
     AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(mFb);
     asyncRunner.logout(activity, new LogoutRequestListener(activity));
   }
 }
Ejemplo n.º 4
0
 /**
  * Request the facebook authentication
  *
  * @param activity
  * @param activityCode the result code which will be handled on the onActivityResult method
  */
 public static void loginRequest(Activity activity, int activityCode) {
   Facebook mFb = FacebookProvider.getFacebook();
   if (!mFb.isSessionValid()) {
     mFb.authorize(
         activity,
         activity.getResources().getStringArray(R.array.share_facebook_permissions),
         activityCode,
         new LoginDialogListener(activity.getApplicationContext()));
   }
 }
Ejemplo n.º 5
0
 @Override
 public void onAuthSucceed() {
   save(FacebookProvider.getFacebook(), context);
 }