in facebook-android-wrapper/src/com/facebook/unity/FBUnityChooseGamingContextActivity.java [41:113]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle params = intent.getBundleExtra(BaseActivity.ACTIVITY_PARAMS);
final UnityMessage response = new UnityMessage("OnChooseGamingContextComplete");
String callbackID = params.getString(Constants.CALLBACK_ID_KEY);
Log.e(TAG, "callbackID: " + callbackID);
if (callbackID != null) {
response.put(Constants.CALLBACK_ID_KEY, callbackID);
}
ContextChooseContent.Builder builder = new ContextChooseContent.Builder();
// TODO add filter, maxSize and minSize
Log.v(TAG, "ChooseGamingContext(" + params + ")");
List<String> filters;
Integer maxSize = null;
Integer minSize = null;
try {
filters = params.getStringArrayList("filters");
Log.v(TAG, "ChooseGamingContext filters: " + filters + "");
String minSizeString = params.getString("minSize");
if (!minSizeString.isEmpty()) {
minSize = Integer.parseInt(minSizeString);
}
String maxSizeString = params.getString("maxSize");
if (!maxSizeString.isEmpty()) {
maxSize = Integer.parseInt(maxSizeString);
}
} catch (Exception e) {
response.sendError(String.format("Invalid params: %s", e.getMessage()));
return;
}
ContextChooseContent content = builder.build();
if (filters != null) {
builder.setFilters(filters);
}
if (minSize != null) {
builder.setMinSize(minSize);
}
if (maxSize != null) {
builder.setMaxSize(maxSize);
}
ContextChooseDialog dialog = new ContextChooseDialog(this);
dialog.registerCallback(mCallbackManager, new FacebookCallback<ContextChooseDialog.Result>() {
@Override
public void onSuccess(ContextChooseDialog.Result result) {
response.put("contextId", result.getContextID());
response.send();
FBUnityChooseGamingContextActivity.this.finish();
}
@Override
public void onCancel() {
response.putCancelled();
response.send();
FBUnityChooseGamingContextActivity.this.finish();
}
@Override
public void onError(FacebookException e) {
response.sendError(e.getMessage());
FBUnityChooseGamingContextActivity.this.finish();
}
});
dialog.show(content);
}