private void showForCloud()

in facebook-gamingservices/src/main/java/com/facebook/gamingservices/GameRequestDialog.java [263:313]


  private void showForCloud(final GameRequestContent content, final Object mode) {
    Context context = this.getActivityContext();

    AccessToken currentAccessToken = AccessToken.getCurrentAccessToken();
    if (currentAccessToken == null || currentAccessToken.isExpired()) {
      throw new FacebookException(
          "Attempted to open GameRequestDialog with an invalid access token");
    }

    final DaemonRequest.Callback requestCallback =
        new DaemonRequest.Callback() {
          @Override
          public void onCompleted(GraphResponse response) {
            if (mCallback != null) {
              if (response.getError() != null) {
                mCallback.onError(new FacebookException(response.getError().getErrorMessage()));
              } else {
                mCallback.onSuccess(new Result(response));
              }
            }
          }
        };

    String app_id = currentAccessToken.getApplicationId();
    String action_type = content.getActionType() != null ? content.getActionType().name() : null;

    JSONObject parameters = new JSONObject();
    JSONArray to = new JSONArray();
    try {
      parameters.put(SDKConstants.PARAM_APP_ID, app_id);
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_ACTION_TYPE, action_type);
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_MESSAGE, content.getMessage());
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_CTA, content.getCta());
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_TITLE, content.getTitle());
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_DATA, content.getData());
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_OPTIONS, content.getFilters());
      if (content.getRecipients() != null) {
        for (String recipient : content.getRecipients()) {
          to.put(recipient);
        }
      }
      parameters.put(SDKConstants.PARAM_GAME_REQUESTS_TO, to);

      DaemonRequest.executeAsync(
          context, parameters, requestCallback, SDKMessageEnum.OPEN_GAME_REQUESTS_DIALOG);
    } catch (JSONException e) {
      if (mCallback != null) {
        mCallback.onError(new FacebookException("Couldn't prepare Game Request Dialog"));
      }
    }
  }