diff --git a/android/src/main/java/com/rncamerakit/CKCameraManager.kt b/android/src/main/java/com/rncamerakit/CKCameraManager.kt index 2b0f904..6c3b22a 100644 --- a/android/src/main/java/com/rncamerakit/CKCameraManager.kt +++ b/android/src/main/java/com/rncamerakit/CKCameraManager.kt @@ -129,6 +129,7 @@ class CKCameraManager : SimpleViewManager(), CKCameraManagerInterface< view.setShutterPhotoSound(enabled); } + // Methods only available on iOS override fun setRatioOverlay(view: CKCamera?, value: String?) = Unit override fun setRatioOverlayColor(view: CKCamera?, value: Int?) = Unit diff --git a/src/Camera.android.tsx b/src/Camera.android.tsx index 81cb90d..6a8157f 100644 --- a/src/Camera.android.tsx +++ b/src/Camera.android.tsx @@ -10,10 +10,7 @@ const Camera = React.forwardRef((props, ref) => { React.useImperativeHandle(ref, () => ({ capture: async (options = {}) => { - // Because RN doesn't support return types for ViewManager methods - // we must use the general module and tell it what View it's supposed to be using - // @ts-ignore make TS happy - return await NativeCameraKitModule.capture(options, findNodeHandle(nativeRef.current ?? null)); + return await NativeCameraKitModule.capture(options, findNodeHandle(nativeRef.current ?? null) ?? undefined); }, requestDeviceCameraAuthorization: () => { throw new Error('Not implemented'); diff --git a/src/Camera.ios.tsx b/src/Camera.ios.tsx index 74ad718..d38e8f3 100644 --- a/src/Camera.ios.tsx +++ b/src/Camera.ios.tsx @@ -13,8 +13,7 @@ const Camera = React.forwardRef((props, ref) => { React.useImperativeHandle(ref, () => ({ capture: async () => { - // @ts-ignore it was like this already - return await NativeCameraKitModule.capture({}, findNodeHandle(nativeRef.current ?? null)); + return await NativeCameraKitModule.capture({}, findNodeHandle(nativeRef.current ?? null) ?? undefined); }, requestDeviceCameraAuthorization: async () => { return await NativeCameraKitModule.checkDeviceCameraAuthorizationStatus();