Exemple #1
0
  public void share(Day giorno) {

    Bundle params = new Bundle();
    params.putString("name", "Ecco cosa mi è successo " + giorno.getData());
    params.putString("caption", giorno.getTesto());
    params.putString("description", "DearDiary è il tuo diario quotidiano su Android!");
    params.putString("link", "https://www.facebook.com/peppeuz");
    params.putString("picture", "http://imgbin.org/images/12252.png");
    if (Session.getActiveSession() == null) {
      alert();

    } else {
      WebDialog feedDialog =
          (new WebDialog.FeedDialogBuilder(activity, Session.getActiveSession(), params))
              .setOnCompleteListener(
                  new OnCompleteListener() {

                    @Override
                    public void onComplete(Bundle values, FacebookException error) {
                      if (error == null) {

                        final String postId = values.getString("post_id");
                        if (postId != null) {
                          Toast.makeText(
                                  activity,
                                  "Post effettuato correttamente!"
                                  // + postId

                                  ,
                                  Toast.LENGTH_SHORT)
                              .show();
                        } else {
                          // User clicked the Cancel button
                          Toast.makeText(
                                  activity.getApplicationContext(),
                                  "Post annullato",
                                  Toast.LENGTH_SHORT)
                              .show();
                        }
                      } else if (error instanceof FacebookOperationCanceledException) {
                        // User clicked the "x" button
                        Toast.makeText(
                                activity.getApplicationContext(),
                                "Post annullato",
                                Toast.LENGTH_SHORT)
                            .show();
                      } else {
                        // Generic, ex: network error
                        Toast.makeText(
                                activity.getApplicationContext(),
                                "Si è presentato un errore durante la pubblicazione",
                                Toast.LENGTH_SHORT)
                            .show();
                      }
                    }
                  })
              .build();
      feedDialog.show();
    }
  }
  private void pegarUsuario() {

    String usuario = "me";
    System.out.println("Entrou no pegar Usuario");
    RequestBatch requestBatch = new RequestBatch();

    System.out.println(Session.getActiveSession());
    requestBatch.add(
        new Request(
            Session.getActiveSession(),
            usuario,
            null,
            null,
            new Request.Callback() {
              public void onCompleted(Response response) {
                GraphObject graphObject = response.getGraphObject();
                System.out.println("Entrou no oncompleted do PegarUsuario");
                if (graphObject != null) {
                  System.out.println("Entrou no if do graphObject");
                  if (graphObject.getProperty("id") != null) {
                    Banco banco = new Banco(TelaFacebook.this);
                    TelaFacebook.nome = (String) graphObject.getProperty("name");
                    TelaFacebook.email = (String) graphObject.getProperty("email");
                    TelaFacebook.aniversario = (String) graphObject.getProperty("birthday");
                    System.out.println(
                        "Nome Usuário : "
                            + nome
                            + " Email: "
                            + email
                            + " Aniversário: "
                            + aniversario);
                    if (email == null) {
                      email = ((String) graphObject.getProperty("first_name")) + "@";
                    }
                    if (aniversario == null) {
                      aniversario = "01/01/2014";
                    }
                    if (banco.idUsuario(email) == null) {
                      banco.cadastrarUsuario(
                          nome, aniversario, email, "12345", "Homem", "Show", "Esporte", "Teatro");
                    }
                    Usuario.setId(banco.idUsuario(email));
                    System.out.println("Logado");

                    Toast.makeText(TelaFacebook.this, "Usuário Logado", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(TelaFacebook.this, TelaPrincipal.class);
                    startActivity(intent);
                  }
                }
              }
            }));
    requestBatch.executeAsync();
  }
  public void publishFeedDialog(
      String name, String caption, String description, String link, String picture) {

    final Context context = UtilActivity.this;
    final Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {

      Bundle params = new Bundle();
      params.putString("name", name);
      params.putString("caption", caption);
      params.putString("description", description);
      params.putString("link", link);
      params.putString("picture", picture);

      WebDialog feedDialog =
          (new WebDialog.FeedDialogBuilder(context, Session.getActiveSession(), params))
              .setOnCompleteListener(
                  new OnCompleteListener() {

                    @Override
                    public void onComplete(Bundle values, FacebookException error) {
                      if (error == null) {
                        // When the story is posted, echo the success
                        // and the post Id.
                        final String postId = values.getString("post_id");
                        if (postId != null) {
                          Toast.makeText(context, "Posted story, id: " + postId, Toast.LENGTH_SHORT)
                              .show();
                        } else {
                          // User clicked the Cancel button
                          Toast.makeText(context, "Publish cancelled", Toast.LENGTH_SHORT).show();
                        }
                      } else if (error instanceof FacebookOperationCanceledException) {
                        // User clicked the "x" button
                        Toast.makeText(context, "Publish cancelled", Toast.LENGTH_SHORT).show();
                      } else {
                        // Generic, ex: network error
                        Toast.makeText(context, "Error posting story", Toast.LENGTH_SHORT).show();
                      }
                    }
                  })
              .build();
      feedDialog.show();

    } else {

      AlertDialog.Builder builder = new AlertDialog.Builder(context);
      builder.setMessage("Facebook app not available.");
      builder.setNeutralButton(context.getResources().getString(android.R.string.ok), null);
      builder.create().show();
    }
  }
Exemple #4
0
 private boolean ensureOpenSession() {
   if (Session.getActiveSession() == null || !Session.getActiveSession().isOpened()) {
     Session.openActiveSession(
         this,
         true,
         new Session.StatusCallback() {
           @Override
           public void call(Session session, SessionState state, Exception exception) {
             onSessionStateChanged(session, state, exception);
           }
         });
     return false;
   }
   return true;
 }
Exemple #5
0
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);

    super.onActivityResult(requestCode, resultCode, data);
  }
Exemple #6
0
 public static boolean isOpen() {
   Session session = Session.getActiveSession();
   if (session != null && session.isOpened()) {
     return true;
   }
   return false;
 }
  public static void init(String appID) {
    Session session;
    if (FB.isLoggedIn()) {
      session = Session.getActiveSession();
      // this shouldn't be an issue for most people: the app id in the session not matching the one
      // provided
      // instead it can probably happen if a developer wants to switch app ids at run time.
      if (appID != session.getApplicationId()) {
        Log.w(
            FB.TAG,
            "App Id in active session ("
                + session.getApplicationId()
                + ") doesn't match App Id passed in: "
                + appID);
        session = new Builder(FB.getUnityActivity()).setApplicationId(appID).build();
      }
    } else {
      session = new Builder(FB.getUnityActivity()).setApplicationId(appID).build();
    }
    Session.setActiveSession(session);

    final UnityMessage unityMessage = new UnityMessage("OnInitComplete");
    unityMessage.put("key_hash", FB.getKeyHash());

    // if there is an existing session, reopen it
    if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState())) {
      Session.StatusCallback finalCallback = getFinalCallback(unityMessage, null);
      sessionOpenRequest(session, finalCallback, FB.getUnityActivity(), null, false);
    } else {
      unityMessage.send();
    }
  }
  private void requestReadPermissions(JSONArray args, CallbackContext callbackContext)
      throws JSONException {
    Session.NewPermissionsRequest permissionsRequest =
        buildPermissionsRequest(args, callbackContext);

    Session.getActiveSession().requestNewReadPermissions(permissionsRequest);
  }
  private void updateUI() {
    Session session = Session.getActiveSession();
    boolean enableButtons = (session != null && session.isOpened());

    // postStatusUpdateButton.setEnabled(enableButtons
    // || canPresentShareDialog);
    // postPhotoButton.setEnabled(enableButtons
    // || canPresentShareDialogWithPhotos);
    // pickFriendsButton.setEnabled(enableButtons);
    // pickPlaceButton.setEnabled(enableButtons);
    //
    if (enableButtons && user != null) {
      System.out.println("userid" + user.getId());
      System.out.println("First name" + user.getFirstName());
      System.out.println("email" + user.getProperty("email").toString());
      System.out.println("Birthday:" + user.getBirthday());
      System.out.println("GENDER" + user.getBirthday());
      System.out.println("Location:" + user.getLocation());

      System.out.println("JSON:" + user.getInnerJSONObject());

    } else {
      System.out.println("Userinfo is null");
    }
  }
 private void sendInviteToFriend() {
   StringBuilder sbIds = new StringBuilder();
   for (String id : mInviteIds) {
     sbIds.append(id).append(",");
   }
   WebDialog dialog =
       new WebDialog.RequestsDialogBuilder(this, Session.getActiveSession())
           .setMessage(getString(R.string.my_firend_invite_send_short_msg))
           .setTo(sbIds.substring(0, sbIds.length() - 1))
           .setOnCompleteListener(
               new OnCompleteListener() {
                 @Override
                 public void onComplete(Bundle values, FacebookException error) {
                   // TODO Auto-generated method stub
                   if (error != null) {
                     showErrorConfirmDialog(error.getMessage());
                   } else if (values != null && values.size() == 0) {
                     showErrorConfirmDialog(R.string.invite_fail);
                   } else {
                     onInviteComplete(mInviteIds);
                     mInviteIds = null;
                   }
                 }
               })
           .build();
   dialog.show();
 }
 @Override
 protected void onDestroy() {
   // TODO Auto-generated method stub
   super.onDestroy();
   mHelper.onDestroy();
   Session.getActiveSession().removeCallback(mCallback);
 }
Exemple #12
0
  private void updateView() {
    Session session = Session.getActiveSession();
    if (session.isOpened()) {
      // Check for publish permissions
      List<String> permissions = session.getPermissions();
      if (!isSubsetOf(PERMISSIONS, permissions)) {
        Session.NewPermissionsRequest newPermissionsRequest =
            new Session.NewPermissionsRequest(this, PERMISSIONS);
        session.requestNewPublishPermissions(newPermissionsRequest);
      }

      makeMeRequest(session);

      // bLoginFacebook.setText(R.string.Log_Out);
      bLoginFacebook.setOnClickListener(
          new OnClickListener() {
            public void onClick(View view) {
              onClickLogout();
            }
          });
    } else {
      // bLoginFacebook.setText(R.string.Log_In);
      bLoginFacebook.setOnClickListener(
          new OnClickListener() {
            public void onClick(View view) {
              onClickLogin();
            }
          });
    }
  }
  private void sendRequestDialog(String userId) {
    Bundle params = new Bundle();
    params.putString("message", "Send items to your friends when they arrive at the location.");
    params.putString("to", userId);
    WebDialog requestsDialog =
        (new WebDialog.RequestsDialogBuilder(this, Session.getActiveSession(), params))
            .setOnCompleteListener(
                new OnCompleteListener() {

                  public void onComplete(Bundle values, FacebookException error) {
                    if (values == null) return;
                    final String requestId = values.getString("request");
                    if (requestId != null) {
                      Toast.makeText(getApplicationContext(), "Request sent", Toast.LENGTH_SHORT)
                          .show();
                    } else {
                      Toast.makeText(
                              getApplicationContext(), "Request cancelled", Toast.LENGTH_SHORT)
                          .show();
                    }
                  }
                })
            .build();

    requestsDialog.show();
  }
 @Override
 protected void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   Session session = Session.getActiveSession();
   Session.saveSession(session, outState);
   uiHelper.onSaveInstanceState(outState);
 }
 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.");
 }
 void _ui(String params, int cbIndex) {
   String action = null;
   Bundle parameters = new Bundle();
   try {
     JSONObject jsonObject = new JSONObject(params);
     action = jsonObject.getString("method");
     Iterator iterator = jsonObject.keys();
     String key = null;
     String value = null;
     while (iterator.hasNext()) {
       key = (String) iterator.next();
       Object object = jsonObject.get(key);
       if (object instanceof String) {
         value = (String) object;
         if (key.compareTo("method") != 0) parameters.putString(key, value);
       } else if (object instanceof Integer) {
         parameters.putInt(key, ((Integer) object).intValue());
       } else if (object instanceof Boolean) {
         parameters.putBoolean(key, ((Boolean) object).booleanValue());
       } else if (object instanceof Double) {
         parameters.putDouble(key, ((Double) object).doubleValue());
       } else {
         Log.v(TAG, "other type:" + object.toString());
       }
     }
   } catch (JSONException e) {
     e.printStackTrace();
   }
   WebDialog uiDialog =
       (new WebDialog.Builder(mActivity, Session.getActiveSession(), action, parameters))
           .setOnCompleteListener(new WebDialogListener(cbIndex))
           .build();
   uiDialog.show();
 }
  private void initUI() {
    aQuery
        .id(R.id.logout_button)
        .clicked(
            new OnClickListener() {

              @Override
              public void onClick(View v) {
                Session session = Session.getActiveSession();
                if (!session.isClosed()) {
                  session.closeAndClearTokenInformation();
                  Intent mainIntent = new Intent(getActivity(), LoginActivity.class);
                  mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                  pref.edit().remove(Common.USER_ID).commit();
                  startActivity(mainIntent);
                }
              }
            });

    Session session = Session.getActiveSession();
    if (session.isOpened()) {
      Request.executeMeRequestAsync(
          session,
          new GraphUserCallback() {

            @Override
            public void onCompleted(GraphUser user, Response response) {
              mProfilePictureView.setProfileId(user.getId());
              aQuery.id(R.id.profile_username_textview).text(user.getName());
            }
          });
    }

    initList();
  }
 public static void getLoginStatus(int cbIndex, boolean force) {
   Log.v(TAG, "getLoginStatus" + cbIndex);
   Session session = Session.getActiveSession();
   if (session == null) {
     nativeCallback(cbIndex, "{\"authResponse\":null,\"status\":\"unknown\"}");
   } else {
     if (session.isOpened()) {
       nativeCallback(
           cbIndex,
           "{\"authResponse\":{\"accessToken\":\""
               + session.getAccessToken()
               + "\"},\"status\":\"connected\"}");
     } else if (session.getState() == SessionState.CLOSED_LOGIN_FAILED) {
       nativeCallback(
           cbIndex,
           "{\"authResponse\":{\"accessToken\":\""
               + session.getAccessToken()
               + "\"},\"status\":\"not_authorized\"}");
     } else {
       nativeCallback(
           cbIndex,
           "{\"authResponse\":{\"accessToken\":\""
               + session.getAccessToken()
               + "\"},\"status\":\"unknown\"}");
     }
   }
 }
  /** Get the current user profile info */
  private void makeMeRequest() {
    final Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {
      Request request =
          Request.newMeRequest(
              session,
              new Request.GraphUserCallback() {
                @Override
                public void onCompleted(GraphUser user, Response response) {
                  isMakeMeRequestStarted = false;
                  dismissProgressDialog();

                  if (session == Session.getActiveSession() && user != null) {
                    mUser = user;
                    updateUI();
                  }
                  if (response != null && response.getError() != null) {
                    Utils.handleError(
                        getActivity(), response.getError(), Utils.getProfileReadPermission());
                  }
                }
              });
      request.executeAsync();
    }
  }
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view =
        inflater.inflate(
            AirFacebookExtension.context.getResourceId("layout.com_facebook_usersettingsfragment"),
            container,
            false);
    loginButton =
        (LoginButton)
            view.findViewById(
                AirFacebookExtension.context.getResourceId(
                    "id.com_facebook_usersettingsfragment_login_button"));
    loginButton.setProperties(loginButtonProperties);
    loginButton.setFragment(this);
    Session session = getSession();
    if (session != null && !session.equals(Session.getActiveSession())) {
      loginButton.setSession(session);
    }
    connectedStateLabel =
        (TextView)
            view.findViewById(
                AirFacebookExtension.context.getResourceId(
                    "id.com_facebook_usersettingsfragment_profile_name"));

    // if no background is set for some reason, then default to Facebook blue
    if (view.getBackground() == null) {
      view.setBackgroundColor(
          getResources()
              .getColor(AirFacebookExtension.context.getResourceId("color.com_facebook_blue")));
    } else {
      view.getBackground().setDither(true);
    }
    return view;
  }
Exemple #21
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);
    }
  }
 private Session createSession() {
   Session activeSession = Session.getActiveSession();
   if (activeSession == null || activeSession.getState().isClosed()) {
     activeSession = new Session.Builder(this).setApplicationId(appId).build();
     Session.setActiveSession(activeSession);
   }
   return activeSession;
 }
Exemple #23
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);
   }
 }
Exemple #24
0
 private void onClickLogin() {
   Session session = Session.getActiveSession();
   if (!session.isOpened() && !session.isClosed()) {
     session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
   } else {
     Session.openActiveSession(this, true, statusCallback);
   }
 }
 @Override
 public void onActivityResult(
     Activity currentActivity, int requestCode, int resultCode, Intent data) {
   /*        if(mDialog != null && mDialog.isShowing()){
       mDialog.dismiss();
   }*/
   Session.getActiveSession().onActivityResult(currentActivity, requestCode, resultCode, data);
 }
  @Override
  protected void onResumeFragments() {
    super.onResumeFragments();
    Session session = Session.getActiveSession();

    if (session != null && session.isOpened()) showFragment(SELECTION, false);
    else showFragment(SPLASH, false);
  }
  private void login(JSONArray args, CallbackContext callbackContext) throws JSONException {
    Session session = Session.getActiveSession();

    if (session == null || session.isClosed()) {
      Log.d(TAG, "Building new session");
      session = new Session.Builder(cordova.getActivity()).setApplicationId(this.appId).build();
      Session.setActiveSession(session);
    } else {
      Log.d(TAG, "Existing session " + session.getState());
    }

    if (session.isOpened()) {
      Log.d(TAG, "Session already open");
      callbackContext.success(buildAuthorizationResponse(session));
      return;
    }

    final CallbackContext callback = callbackContext;

    List<String> permissions = new ArrayList<String>();

    permissions.add("basic_info");
    JSONArray argumentPermissions = args.getJSONArray(0);

    for (int i = 0; i < argumentPermissions.length(); i++) {
      permissions.add(argumentPermissions.getString(i));
    }

    OpenRequest openRequest =
        new OpenRequest(cordova.getActivity())
            .setPermissions(permissions)
            .setCallback(
                new StatusCallback() {
                  @Override
                  public void call(Session session, SessionState state, Exception exception) {
                    Log.d(TAG, "In status callback open for read " + state);

                    if (state == SessionState.OPENING) {
                      return;
                    }

                    session.removeCallback(this);

                    try {
                      JSONObject response = buildAuthorizationResponse(session);

                      callback.success(response);
                    } catch (JSONException e) {
                      Log.e(TAG, "JSONException", e);
                      callback.error(e.toString());
                    }
                  }
                });

    cordova.setActivityResultCallback(this);

    session.openForRead(openRequest);
  }
  public static void login(String params, final Activity activity) {
    Session session = Session.getActiveSession();
    if (session == null) {
      Log.w(FB.TAG, "Session not found. Call init() before calling login()");
      return;
    }
    // if the old session is closed (or login was cancelled), create new one
    if (session.isClosed()) {
      session =
          new Builder(FB.getUnityActivity()).setApplicationId(session.getApplicationId()).build();
      Session.setActiveSession(session);
    }
    final UnityMessage unityMessage = new UnityMessage("OnLoginComplete");

    unityMessage.put("key_hash", FB.getKeyHash());

    // parse and separate the permissions into read and publish permissions
    List<String> permissions = new ArrayList<String>();
    UnityParams unity_params = UnityParams.parse(params, "couldn't parse login params: " + params);
    if (unity_params.hasString("scope")) {
      permissions =
          new ArrayList<String>(Arrays.asList(unity_params.getString("scope").split(",")));
    }
    List<String> publishPermissions = new ArrayList<String>();
    List<String> readPermissions = new ArrayList<String>();
    if (permissions.size() > 0) {
      for (String s : permissions) {
        if (s.length() == 0) {
          continue;
        }
        if (Session.isPublishPermission(s)) {
          publishPermissions.add(s);
        } else {
          readPermissions.add((s));
        }
      }
    }
    boolean hasPublishPermissions = !publishPermissions.isEmpty();

    // check to see if the readPermissions have been TOSed already
    // we don't need to show the readPermissions dialog if they have all been TOSed even though it's
    // a mix
    // of permissions
    boolean showMixedPermissionsFlow =
        hasPublishPermissions && !session.getPermissions().containsAll(readPermissions);

    // if we're logging in and showing a mix of publish and read permission, we need to split up the
    // dialogs
    // first just show the read permissions, after they are accepted show publish permissions
    if (showMixedPermissionsFlow) {
      Session.StatusCallback afterReadPermissionCallback =
          getAfterReadPermissionLoginCallback(unityMessage, publishPermissions, activity);
      sessionOpenRequest(session, afterReadPermissionCallback, activity, readPermissions, false);
    } else {
      Session.StatusCallback finalCallback = getFinalCallback(unityMessage, activity);
      sessionOpenRequest(session, finalCallback, activity, permissions, hasPublishPermissions);
    }
  }
Exemple #29
0
  private void Poimg(Bitmap b) {

    Session session = Session.getActiveSession();
    if (session != null) {

      // Part 1: create callback to get URL of uploaded photo
      Request.Callback uploadPhotoRequestCallback =
          new Request.Callback() {
            @Override
            public void onCompleted(Response response) {
              // safety check
              if (isFinishing()) {
                return;
              }
              if (response.getError() != null) { // [IF Failed Posting]
                Log.d("", "photo upload problem. Error=" + response.getError());
                System.out.println(response.getError());
              } //  [ENDIF Failed Posting]
              Object graphResponse = response.getGraphObject().getProperty("id");
              if (graphResponse == null
                  || !(graphResponse instanceof String)
                  || TextUtils.isEmpty((String) graphResponse)) { // [IF Failed upload/no results]
                Log.d("", "failed photo upload/no response");
              } else { // [ELSEIF successful upload]
                fbPhotoAddress = "https://www.facebook.com/photo.php?fbid=" + graphResponse;

                System.out.println(fbPhotoAddress + "/////");
              } // [ENDIF successful posting or not]
            } // [END onCompleted]
          };

      // Part 2: upload the photo
      Request request = Request.newUploadPhotoRequest(session, b, uploadPhotoRequestCallback);
      Bundle bundle = request.getParameters();
      bundle.putString(
          "message",
          "受測者:"
              + UserName
              + "\n拍攝日期:"
              + Data[0]
              + "\n酒測值:"
              + Data[1]
              + "/L"
              + "\n位置:"
              + returnAddress);
      request.setParameters(bundle);
      /*紫陽科技酒測即時群組*/
      request.setGraphPath("615097428532040/photos");
      /*
       * 	測試群組
       * request.setGraphPath("612077312161579/photos");
       */
      /*	個人塗鴉牆
       * request.setGraphPath("me/photos");
       */
      request.executeAsync();
    }
  }