Exemple #1
0
  public static void callFacebookLogout(Context context) {
    Session session = Session.getActiveSession();
    if (session != null) {

      if (!session.isClosed()) {
        session.closeAndClearTokenInformation();
        // clear your preferences if saved

        Intent i = new Intent();
        i.setClass(context, MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
      }
    } else {

      session = new Session(context);
      Session.setActiveSession(session);

      session.closeAndClearTokenInformation();
      // clear your preferences if saved

      Intent i = new Intent();
      i.setClass(context, MainActivity.class);
      i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      context.startActivity(i);
    }
  }
 public static void logout(int cbIndex) {
   mStatusCallback.mCallByMode = SessionStatusCallback.CallByLogout;
   mStatusCallback.mCallbackIndex = cbIndex;
   Session session = Session.getActiveSession();
   if (!session.isClosed()) session.closeAndClearTokenInformation();
   else Log.e(TAG, "FB.logout() called without an access token.");
 }
Exemple #3
0
 /** Closes the current session as well as clearing the token cache. */
 protected final void closeSessionAndClearTokenInformation() {
   if (sessionTracker != null) {
     Session currentSession = sessionTracker.getOpenSession();
     if (currentSession != null) {
       currentSession.closeAndClearTokenInformation();
     }
   }
 }
Exemple #4
0
 public static void closeSession() {
   Session session = Session.getActiveSession();
   if (!session.isClosed()) {
     session.closeAndClearTokenInformation();
     SharedPreferenceUtil.removeValue(SharedPreferenceUtil.PREF_FACEBOOK_TOKEN);
     SharedPreferenceUtil.removeValue(SharedPreferenceUtil.PREF_FACEBOOK_EXPIRE_DATE);
   }
 }
  private void doLogout() {
    AppController.deleteToken(this);
    AppController.sdeleteFBToken(this);

    Session session = AppController.staticSession.getActiveSession();
    if (session != null) session.closeAndClearTokenInformation();
    Intent i = new Intent(AfterLoginActivity.this, MainActivity.class);
    startActivity(i);
    finish();
  }
  protected void logout(CallbackContext callbackContext) {
    Session session = Session.getActiveSession();

    if (session == null || session.isClosed()) {
      callbackContext.error("User is not logged in");
      return;
    }

    session.closeAndClearTokenInformation();
    callbackContext.success();
  }
    @Override
    public void onClick(View v) {
      Context context = getContext();
      final Session openSession = sessionTracker.getOpenSession();
      if (openSession != null) {
        // If the Session is currently open, it must mean we need to log out
        if (confirmLogout) {
          // Create a confirmation dialog
          String logout = getResources().getString(R.string.com_facebook_loginview_log_out_action);
          String cancel = getResources().getString(R.string.com_facebook_loginview_cancel_action);
          String message;
          if (user != null && user.getName() != null) {
            message =
                String.format(
                    getResources().getString(R.string.com_facebook_loginview_logged_in_as),
                    user.getName());
          } else {
            message =
                getResources().getString(R.string.com_facebook_loginview_logged_in_using_facebook);
          }
          AlertDialog.Builder builder = new AlertDialog.Builder(context);
          builder
              .setMessage(message)
              .setCancelable(true)
              .setPositiveButton(
                  logout,
                  new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      openSession.closeAndClearTokenInformation();
                    }
                  })
              .setNegativeButton(cancel, null);
          builder.create().show();
        } else {
          openSession.closeAndClearTokenInformation();
        }
      } else {
        Session currentSession = sessionTracker.getSession();
        if (currentSession == null || currentSession.getState().isClosed()) {
          sessionTracker.setSession(null);
          Session session = new Session.Builder(context).setApplicationId(applicationId).build();
          Session.setActiveSession(session);
          currentSession = session;
        }
        if (!currentSession.isOpened()) {
          Session.OpenRequest openRequest = null;
          if (parentFragment != null) {
            openRequest = new Session.OpenRequest(parentFragment);
          } else if (context instanceof Activity) {
            openRequest = new Session.OpenRequest((Activity) context);
          }

          if (openRequest != null) {
            openRequest.setDefaultAudience(properties.defaultAudience);
            openRequest.setPermissions(properties.permissions);
            openRequest.setLoginBehavior(properties.loginBehavior);

            if (SessionAuthorizationType.PUBLISH.equals(properties.authorizationType)) {
              currentSession.openForPublish(openRequest);
            } else {
              currentSession.openForRead(openRequest);
            }
          }
        }
      }
    }
  @Override
  protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
    Log.d(
        TAG,
        "onActivityResult. RequestCode: " + requestCode + " ResponseCode:" + responseCode + "!");
    super.onActivityResult(requestCode, responseCode, intent);

    // Facebook:
    uiHelper.onActivityResult(requestCode, responseCode, intent);

    switch (requestCode) {
      case RC_SIGN_IN_GOOGLE:
        if (responseCode != RESULT_OK) {
          mSignInClicked = false;
        }

        mIntentInProgress = false;

        if (!mGoogleApiClient.isConnecting()) {
          mGoogleApiClient.connect();
        }
        break;

      case REQUEST_CODE_GOOGLE_LOGIN:
        Log.d(TAG, "LOGOUT from google!");
        // LOGOUT from google
        if (responseCode == RESULT_OK) {
          Log.d(
              TAG, "LOGOUT from google withe response code RESULT_OK. Signing Out from Gplus!...");
          // Check if revoke exists!
          Bundle extras = intent.getExtras();
          boolean revoke = false;
          if (extras != null) {
            revoke = extras.getBoolean(AndroidSkeletonUtils.REVOKE_KEY);
          }

          if (revoke == true) {
            Log.d(TAG, "LOGOUT and also revoke!...");
            revokeGplusAccess();
          } else {
            Log.d(TAG, "Only LOGOUT (no revoke)...");
            signOutFromGplus();
          }
        }
        break;
      case REQUEST_CODE_FACEBOOK_LOGIN:
        // LOGOUT from facebook
        Log.d(TAG, "LOGOUT from facebook!");
        if (responseCode == RESULT_OK) {
          Log.d(
              TAG,
              "LOGOUT from facebook with response code RESULT_OK. Signing Out from facebook!...");
          // Check if revoke exists!
          Bundle extras = intent.getExtras();
          boolean revoke = false;
          if (extras != null) {
            revoke = extras.getBoolean(AndroidSkeletonUtils.REVOKE_KEY);
          }

          Session session = Session.getActiveSession();

          if (revoke == true) {
            Log.d(TAG, "LOGOUT and also revoke!...");
            Log.d(TAG, "First revoke...");
            progressDialog =
                ProgressDialog.show(LoginActivity.this, "", "Revocant permisos...", true);
            new Request(
                    session,
                    "/me/permissions",
                    null,
                    HttpMethod.DELETE,
                    new Request.Callback() {
                      public void onCompleted(Response response) {
                        /* handle the result */
                        Log.d(TAG, "Revoked. Response:" + response);
                        progressDialog.dismiss();
                      }
                    })
                .executeAsync();
            session.closeAndClearTokenInformation();
          } else {
            Log.d(TAG, "Only LOGOUT (no revoke)...");
            session.closeAndClearTokenInformation();
          }
        }

      case REQUEST_CODE_TWITTER_LOGIN:
        // LOGOUT from facebook
        Log.d(TAG, "LOGOUT from Twitter!");
        if (responseCode == RESULT_OK) {
          Log.d(
              TAG,
              "LOGOUT from twitter with response code RESULT_OK. Signing Out from twitter!...");
          // Check if revoke exists!
          Bundle extras = intent.getExtras();
          boolean revoke = false;
          if (extras != null) {
            revoke = extras.getBoolean(AndroidSkeletonUtils.REVOKE_KEY);
          }
          if (revoke == true) {
            Log.d(TAG, "LOGOUT and also revoke!...");
            logoutAndRevokeFromTwitter();
          } else {
            Log.d(TAG, "Only LOGOUT (no revoke)...");
            logoutFromTwitter();
          }
        }
        break;

      default:
        break;
    }
  }
Exemple #9
0
 public void logoutFromFacebook() {
   if ((sessionFacebook != null) && (sessionFacebook.isOpened())) {
     sessionFacebook.closeAndClearTokenInformation();
   }
 }
Exemple #10
0
 private void onClickLogout() {
   Session session = Session.getActiveSession();
   if (!session.isClosed()) {
     session.closeAndClearTokenInformation();
   }
 }