Skip to content

Fix for RN 0.81 #3616

@bmatasar

Description

@bmatasar

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch react-native-vision-camera@4.7.1 for the project I'm working on.

During the Android build I faced some errors. Here is the patch that clears the errors. However, I am not sure what the minimum supported RN version is.

Here is the diff that solved my problem:

diff --git a/node_modules/react-native-vision-camera/android/.project b/node_modules/react-native-vision-camera/android/.project
new file mode 100644
index 0000000..43181a3
--- /dev/null
+++ b/node_modules/react-native-vision-camera/android/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>react-native-vision-camera</name>
+	<comment>Project react-native-vision-camera created by Buildship.</comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1745132233130</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewManager.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewManager.kt
index c5845b7..10e9d60 100644
--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewManager.kt
+++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewManager.kt
@@ -28,20 +28,20 @@ class CameraViewManager : ViewGroupManager<CameraView>() {
   }
 
   override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any>? =
-    MapBuilder.builder<String, Any>()
-      .put(CameraViewReadyEvent.EVENT_NAME, MapBuilder.of("registrationName", "onViewReady"))
-      .put(CameraInitializedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onInitialized"))
-      .put(CameraStartedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onStarted"))
-      .put(CameraStoppedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onStopped"))
-      .put(CameraShutterEvent.EVENT_NAME, MapBuilder.of("registrationName", "onShutter"))
-      .put(CameraErrorEvent.EVENT_NAME, MapBuilder.of("registrationName", "onError"))
-      .put(CameraCodeScannedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onCodeScanned"))
-      .put(CameraPreviewStartedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onPreviewStarted"))
-      .put(CameraPreviewStoppedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onPreviewStopped"))
-      .put(CameraOutputOrientationChangedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onOutputOrientationChanged"))
-      .put(CameraPreviewOrientationChangedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onPreviewOrientationChanged"))
-      .put(AverageFpsChangedEvent.EVENT_NAME, MapBuilder.of("registrationName", "onAverageFpsChanged"))
-      .build()
+    mapOf(
+      CameraViewReadyEvent.EVENT_NAME to mapOf("registrationName" to "onViewReady"),
+      CameraInitializedEvent.EVENT_NAME to mapOf("registrationName" to "onInitialized"),
+      CameraStartedEvent.EVENT_NAME to mapOf("registrationName" to "onStarted"),
+      CameraStoppedEvent.EVENT_NAME to mapOf("registrationName" to "onStopped"),
+      CameraShutterEvent.EVENT_NAME to mapOf("registrationName" to "onShutter"),
+      CameraErrorEvent.EVENT_NAME to mapOf("registrationName" to "onError"),
+      CameraCodeScannedEvent.EVENT_NAME to mapOf("registrationName" to "onCodeScanned"),
+      CameraPreviewStartedEvent.EVENT_NAME to mapOf("registrationName" to "onPreviewStarted"),
+      CameraPreviewStoppedEvent.EVENT_NAME to mapOf("registrationName" to "onPreviewStopped"),
+      CameraOutputOrientationChangedEvent.EVENT_NAME to mapOf("registrationName" to "onOutputOrientationChanged"),
+      CameraPreviewOrientationChangedEvent.EVENT_NAME to mapOf("registrationName" to "onPreviewOrientationChanged"),
+      AverageFpsChangedEvent.EVENT_NAME to mapOf("registrationName" to "onAverageFpsChanged")
+    ).toMutableMap()
 
   override fun getName(): String = TAG
 
diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewModule.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewModule.kt
index 7ae4209..059f677 100644
--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewModule.kt
+++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/react/CameraViewModule.kt
@@ -189,7 +189,7 @@ class CameraViewModule(reactContext: ReactApplicationContext) : ReactContextBase
   }
 
   private fun canRequestPermission(permission: String): Boolean {
-    val activity = currentActivity as? PermissionAwareActivity
+    val activity = reactApplicationContext.currentActivity as? PermissionAwareActivity
     return activity?.shouldShowRequestPermissionRationale(permission) ?: false
   }
 

This issue body was partially generated by patch-package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions