From 78ab8cc1471532ae9a5096a42480b7b67cde8b4a Mon Sep 17 00:00:00 2001 From: Saurabh Chavan Date: Tue, 29 Sep 2026 17:14:45 +0530 Subject: [PATCH 1/2] fix: added patch for react native vision camera --- .../react-native-vision-camera+4.7.3.patch | 37 +++++++++++++++++++ patches/apply-patches.js | 4 ++ 2 files changed, 41 insertions(+) create mode 100644 intermediary-patches/react-native-vision-camera+4.7.3.patch diff --git a/intermediary-patches/react-native-vision-camera+4.7.3.patch b/intermediary-patches/react-native-vision-camera+4.7.3.patch new file mode 100644 index 00000000..3f3c7c47 --- /dev/null +++ b/intermediary-patches/react-native-vision-camera+4.7.3.patch @@ -0,0 +1,37 @@ +diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession+Configuration.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession+Configuration.kt +index 1e9c0de..bbd8a91 100644 +--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession+Configuration.kt ++++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession+Configuration.kt +@@ -2,6 +2,7 @@ package com.mrousavy.camera.core + + import android.annotation.SuppressLint + import android.util.Log ++import android.util.Size + import androidx.annotation.OptIn + import androidx.camera.core.CameraSelector + import androidx.camera.core.CameraState +@@ -13,6 +14,7 @@ import androidx.camera.core.MirrorMode + import androidx.camera.core.Preview + import androidx.camera.core.TorchState + import androidx.camera.core.resolutionselector.ResolutionSelector ++import androidx.camera.core.resolutionselector.ResolutionStrategy + import androidx.camera.extensions.ExtensionMode + import androidx.camera.lifecycle.ProcessCameraProvider + import androidx.camera.video.Recorder +@@ -220,7 +222,15 @@ internal fun CameraSession.configureOutputs(configuration: CameraConfiguration) + val codeScannerConfig = configuration.codeScanner as? CameraConfiguration.Output.Enabled + if (codeScannerConfig != null) { + Log.i(CameraSession.TAG, "Creating CodeScanner output...") +- val analyzer = ImageAnalysis.Builder().build() ++ // Request a higher analysis resolution than the CameraX default (640x480), so ML Kit can read ++ // barcodes on patterned backgrounds. Size is in sensor (landscape) orientation. ++ val analyzer = ImageAnalysis.Builder() ++ .setResolutionSelector( ++ ResolutionSelector.Builder() ++ .setResolutionStrategy(ResolutionStrategy(Size(1920, 1440), ResolutionStrategy.FALLBACK_RULE_CLOSEST_HIGHER_THEN_LOWER)) ++ .build() ++ ) ++ .build() + val pipeline = CodeScannerPipeline(codeScannerConfig.config, callback) + analyzer.setAnalyzer(CameraQueues.analyzerExecutor, pipeline) + codeScannerOutput = analyzer diff --git a/patches/apply-patches.js b/patches/apply-patches.js index ced81bc1..a9097b50 100755 --- a/patches/apply-patches.js +++ b/patches/apply-patches.js @@ -7,6 +7,10 @@ const patchOperations = [ { dependency: "react-native-geocoder", patchFile: "react-native-geocoder+0.5.0.patch" + }, + { + dependency: "react-native-vision-camera", + patchFile: "react-native-vision-camera+4.7.3.patch" } ]; From ae54d61514e6f0d942b4d35588822f0c01af3d6d Mon Sep 17 00:00:00 2001 From: Saurabh Chavan Date: Wed, 30 Sep 2026 11:11:38 +0530 Subject: [PATCH 2/2] fix: update the changelogs --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 432c7c4c..f4edfae4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - We fixed an issue on iOS where a deep link that cold started the app was not delivered to React Native, causing `Linking.getInitialURL()` to return `null`. - We removed some unused Android Permissions coming in from Manifest mergers. +- We patched react native vision camera library to fix the issue of barcodes not getting scanned correctly with patterned backgrounds on Android. ## [19.1.6] - 2026-09-16