public PopupWindow createPopupWindow()

in NearbyConnectionsCpp/app/src/main/java/com/sample/helper/JUIHelper.java [287:339]


    public PopupWindow createPopupWindow(final NativeActivity act) {
        // Check manifest settings if the activity wouldn't be destroyed when
        // the device orientation changes
        try {
            ActivityInfo info = act.getPackageManager().getActivityInfo(
                    act.getComponentName(), 0);
            if ((info.configChanges & ActivityInfo.CONFIG_ORIENTATION) == 0
                    || (info.configChanges & ActivityInfo.CONFIG_SCREEN_SIZE) == 0) {
                Log.i("NDKHelper",
                        "Activity does not have android:configChanges='orientation|screenSize' attributes in AndroidManifest.xml.");
            }
        } catch (NameNotFoundException e) {
          Log.e("NDKHelper", "Failed to find ActivityName");
        }

        activity_ = act;
        // activity.setTheme(android.R.style.Theme_DeviceDefault);

        final PopupWindow popupWindow = new PopupWindow(
                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

        activity_.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Window window = activity_.getWindow();
                if( window != null )
                {
                    View decorView = window.getDecorView();
                    if( decorView == null )
                    {
                        // Put dummy layout to NativeActivity
                        LinearLayout mainLayout = new LinearLayout(activity_);
                        MarginLayoutParams params = new MarginLayoutParams(
                                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
                        params.setMargins(0, 0, 0, 0);
                        activity_.setContentView(mainLayout, params);
                        decorView = mainLayout;
                    }

                    // Setup relative layout
                    JUIRelativeLayout_ = new RelativeLayout(activity_);
                    popupWindow.setContentView(JUIRelativeLayout_);

                    // Show our UI over NativeActivity window
                    popupWindow.showAtLocation(decorView, Gravity.TOP
                            | Gravity.START, 0, 0);
                    popupWindow.setTouchable(false);
                    popupWindow.update();
                }
            }
        });
        return popupWindow;
    }