protected void onCreate()

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