in facebook-gamingservices/src/main/java/com/facebook/gamingservices/ContextSwitchDialog.java [116:158]
private void showForCloud(final ContextSwitchContent content, final Object mode) {
Context context = this.getActivityContext();
AccessToken currentAccessToken = AccessToken.getCurrentAccessToken();
if (currentAccessToken == null || currentAccessToken.isExpired()) {
throw new FacebookException(
"Attempted to open ContextSwitchContent 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 contextID = content.getContextID();
if (contextID == null) {
if (mCallback != null) {
mCallback.onError(new FacebookException("Required string contextID not provided."));
}
return;
}
JSONObject parameters = new JSONObject();
try {
parameters.put(SDKConstants.PARAM_CONTEXT_ID, contextID);
DaemonRequest.executeAsync(
context, parameters, requestCallback, SDKMessageEnum.CONTEXT_SWITCH);
} catch (JSONException e) {
if (mCallback != null) {
mCallback.onError(new FacebookException("Couldn't prepare Context Switch Dialog"));
}
}
}