private void performPublish(PendingAction action) {
   Session session = Session.getActiveSession();
   if (session != null) {
     pendingAction = action;
     if (hasPublishPermission()) {
       // We can do the action right away.
       handlePendingAction();
     } else {
       // We need to get new permissions, then complete the action when we get called back.
       session.requestNewPublishPermissions(new Session.NewPermissionsRequest(this, PERMISSIONS));
     }
   }
 }
  private void updateUI() {
    Session session = Session.getActiveSession();
    boolean enableButtons = (session != null && session.isOpened());

    postStatusUpdateButton.setEnabled(enableButtons);
    postPhotoButton.setEnabled(enableButtons);
    pickFriendsButton.setEnabled(enableButtons);
    pickPlaceButton.setEnabled(enableButtons);

    if (enableButtons && user != null) {
      profilePictureView.setProfileId(user.getId());
      greeting.setText("Greetings " + user.getFirstName());
    } else {
      profilePictureView.setProfileId(null);
      greeting.setText(null);
    }
  }
 private boolean hasPublishPermission() {
   Session session = Session.getActiveSession();
   return session != null && session.getPermissions().contains("publish_actions");
 }