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"));
}
}
}