private void showForCloud()

in facebook-gamingservices/src/main/java/com/facebook/gamingservices/ContextChooseDialog.java [114:158]


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

    AccessToken currentAccessToken = AccessToken.getCurrentAccessToken();
    if (currentAccessToken == null || currentAccessToken.isExpired()) {
      throw new FacebookException(
          "Attempted to open ContextChooseContent 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));
              }
            }
          }
        };

    JSONObject parameters = new JSONObject();
    try {
      parameters.put(SDKConstants.PARAM_CONTEXT_FILTERS, content.getFilters());
      parameters.put(SDKConstants.PARAM_CONTEXT_MIN_SIZE, content.getMinSize());

      List<String> filters = content.getFilters();
      if (filters != null && !filters.isEmpty()) {
        JSONArray filtersArray = new JSONArray();
        for (int i = 0; i < filters.size(); i++) {
          filtersArray.put(filters.get(i));
        }
        parameters.put(SDKConstants.PARAM_CONTEXT_FILTERS, filtersArray);
      }

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