@Override
    public void onCameraARHitTest(ARHitTestResult results[]) {

        VRTComponent node = weakComponent.get();

        if (node == null){
            return;
        }
        if( node instanceof VRTScene) {
            final VRTScene scene = (VRTScene) node;
            final ARHitTestResult arResults[] = results;
            scene.getCameraPositionAsync(new CameraCallback() {
                @Override
                public void onGetCameraOrientation(float posX, float poxY, float posZ,
                                                   float rotEulerX, float rotEulerY, float rotEulerZ,
                                                   float forwardX, float forwardY, float forwardZ,
                                                   float upX, float upY, float upZ) {
                    WritableArray cameraOrientationArray = Arguments.createArray();
                    cameraOrientationArray.pushDouble(posX);
                    cameraOrientationArray.pushDouble(poxY);
                    cameraOrientationArray.pushDouble(posZ);
                    cameraOrientationArray.pushDouble(Math.toDegrees(rotEulerX));
                    cameraOrientationArray.pushDouble(Math.toDegrees(rotEulerY));
                    cameraOrientationArray.pushDouble(Math.toDegrees(rotEulerZ));
                    cameraOrientationArray.pushDouble(forwardX);
                    cameraOrientationArray.pushDouble(forwardY);
                    cameraOrientationArray.pushDouble(forwardZ);
                    cameraOrientationArray.pushDouble(upX);
                    cameraOrientationArray.pushDouble(upY);
                    cameraOrientationArray.pushDouble(upZ);

                    WritableArray hitTestResultsArray = Arguments.createArray();
                    for (ARHitTestResult result : arResults) {
                        hitTestResultsArray.pushMap(ARUtils.mapFromARHitTestResult(result));
                    }
                    WritableMap event = Arguments.createMap();
                    event.putArray("hitTestResults", hitTestResultsArray);

                    event.putArray("cameraOrientation", cameraOrientationArray);

                    scene.getReactContext().getJSModule(RCTEventEmitter.class).receiveEvent(
                            scene.getId(),
                            ViroEvents.ON_CAMERA_AR_HIT_TEST_VIRO,
                            event);
                }
            });
        }
    }
Represents all java-to-javascript calls that can be triggered from an EventDelegate.
android/viro_bridge/src/main/java/com/viromedia/bridge/utility/ComponentEventDelegate.java