Commit Graph

268 Commits

Author SHA1 Message Date
Ivan Vershigora
58ff00300c feat: detectQRCodeInImage API 2026-04-24 19:25:34 +01:00
Ivan Vershigora
4323cb608d fix: bump com.github.limpbrains:qr:v0.0.3 2026-04-20 14:05:59 +01:00
Ivan Vershigora
edb054a8cb
fix: bugs 2026-01-17 11:24:47 +00:00
Ivan Vershigora
202f9f6455
Resolve merge conflicts, preserve no-google customizations 2026-01-17 10:21:18 +00:00
Seph Soliman
3767ef668c Fixed Android compilation error
("'setIOsSleepBeforeStarting' overrides nothing")
2026-01-12 10:44:57 -08:00
Seph Soliman
b2b06b425b Merge branch 'r/16.2.1' 2026-01-08 16:43:31 -08:00
Seph Soliman
a73b84ef78 Removed iOsSleepBeforeStarting
No longer needed with proper begin/commit handling
2026-01-08 16:41:43 -08:00
coreyphillips
dca0e421fc fix(android): add missing setIOsSleepBeforeStarting stub for new arch
- The CKCameraManagerInterface requires setIOsSleepBeforeStarting to be implemented, but the Android new architecture implementation was missing this method stub. This caused Kotlin compilation failures when building release APKs.
2026-01-08 13:41:08 -08:00
Seph Soliman
db93bcfc94 Fixed missing iOsDeferredStart on Android 2026-01-08 13:40:32 -08:00
Ivan Vershigora
4e7527cbe3
Fix Android build: Add stub implementations for new Codegen methods
After syncing TypeScript layer with allowedBarcodeTypes and iOsSleepBeforeStarting props,
the auto-generated CKCameraManagerInterface requires these methods to be implemented.

Added stub implementations in both newarch and oldarch:
- setAllowedBarcodeTypes: No-op (fork is QR-only, doesn't use filtering)
- setIOsSleepBeforeStarting: No-op (iOS-only prop)

Both methods accept the props for API compatibility but have no effect on Android.

Verified: Android build now compiles successfully

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 00:05:54 +00:00
Ivan Vershigora
daaa65be3a
Update limpbrains/qr dependency to v0.0.2
Upgrade from v0.0.1 to v0.0.2 for new features:
- ECI (Extended Channel Interpretation) support for 20+ character encodings
- Inverted QR code detection (white-on-black QR codes)

Build and lint verified passing.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 23:53:32 +00:00
Ivan Vershigora
05ae12c0b1
Sync from teslamotors/react-native-camera-kit@cc6515b
Selectively synced upstream changes while preserving QR-only Android implementation.

Changes auto-synced (Category A - 19 files):
- iOS: All 8 files (stress test support + allowedBarcodeTypes filtering)
- TypeScript: All 7 files (Camera components, props, types, specs)
- Example app: All 3 files (stress test + allowedBarcodeTypes example)
- Config: Moved .nvmrc to root

Changes selectively synced (Category B - 2 files):
- CodeFormat.kt: Added UPC_A("upc-a") enum value (1 hunk applied, 1 skipped)
- README.md: Added allowedBarcodeTypes docs with QR-only note

Changes skipped (Android barcode conflicts):
- CKCamera.kt: All barcode filtering logic (~50+ hunks)
  Reason: Fork uses onBarcodeRead(String), upstream uses onBarcodeRead(List<Barcode>, Size)
- CKCameraManager.kt: setAllowedBarcodeTypes property setter
- package.json: Version bump (fork maintains independent versioning)

Upstream range: 5a709e0..cc6515b (12 commits)
Main feature: allowedBarcodeTypes barcode filtering (iOS synced, Android QR-only preserved)

Fork integrity checks:
 No Google ML Kit dependencies
 QRDecoder.decode() preserved
 limpbrains/qr dependency intact
 yarn build && yarn lint passed

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 23:27:08 +00:00
coreyphillips
2c0a0e43f3
fix(android): add missing setIOsSleepBeforeStarting stub for new arch
- The CKCameraManagerInterface requires setIOsSleepBeforeStarting to be implemented, but the Android new architecture implementation was missing this method stub. This caused Kotlin compilation failures when building release APKs.
2026-01-07 12:26:43 -05:00
Seph Soliman
6c7cfe44d5
Merge pull request #727 from IlyaPasternakAmitech/master
feat: Add forbiddenBarcodeTypes property
2025-12-30 16:13:47 -08:00
Seph Soliman
ea894d96ad Fixed Android allowed barcode types 2025-12-30 16:03:40 -08:00
Ivan Vershigora
1131e81f85 fix: catch error in cameraProviderFuture.get() 2025-12-29 18:58:29 +00:00
Ivan Vershigora
1371773530
fix: catch error in cameraProviderFuture.get() 2025-12-29 18:48:17 +00:00
Ivan
91909ff575
replace google mlkit with limpbrains/qr 2025-12-29 14:36:52 +00:00
Kseniya Vinnichek
4cbec39042 refactoring 2025-11-20 13:08:08 +01:00
Kseniya Vinnichek
1ea413a099 Merge remote-tracking branch 'upstream/master' into refactoring
# Conflicts:
#	android/src/main/java/com/rncamerakit/CKCamera.kt
#	android/src/newarch/java/com/rncamerakit/CKCameraManager.kt
#	android/src/paper/java/com/facebook/react/viewmanagers/CKCameraManagerDelegate.java
#	android/src/paper/java/com/facebook/react/viewmanagers/CKCameraManagerInterface.java
2025-11-20 10:41:02 +01:00
Kseniya Vinnichek
f8be0f08e8 correct allowed barcode types validation, remove invalid reference, and prevent fallback errors 2025-11-19 11:32:43 +01:00
Seph Soliman
84d11bfc58 Fixed support for RN 0.76 and other older RN versions
Removed includesGeneratedCode since it's unreliable and is temporary
Added new/old arch code split for Android
2025-09-09 13:15:50 -07:00
Seph Soliman
9ef0601144
Merge pull request #739 from gargwork321/add-capture-size
Add file size (bytes) to capture() result on Android
2025-09-08 13:43:57 -07:00
Seph Soliman
9a41d1c8ae Fixed SafeAreaView dummy support on iOS
Fixed zoom issue
Fixed Fabric (new arch) compile issues on both platforms
Fixed included broken codegen lib code
Fixed broken .h import paths to avoid setting custom build settings
Fixed potential memory issue by disabling view recycling
Added Fabric (new arch) support for camera view component
Added RN 0.81 for example
Added RN 0.79 for main lib
Added helper for re-running codegen
Added gitignore for Android codegen making a podspec
Added support for scanThrottleDelay on Android
Added includesGeneratedCode to package.json to indicate changes
Rewrote optional int props to use -1 instead due to RN bug
Moved to Obj-C with C++ support (.mm) to avoid C++ compile issues
2025-09-04 15:38:29 -07:00
Vivek Garg
ca4023ed27
feat: add image file size to capture() result
On Android, the `capture()` method previously returned only the URI, width, height, and file name of the captured image. The actual file size in bytes was missing.
This change updates the Android implementation to compute the image size using `File.length()` once the photo is written to disk, and include it in the result object:
{
  uri: "file:///path/to/photo.jpg",
  width: 1080,
  height: 1920,
  name: "IMG_1234.jpg",
  size: 345678   // bytes
}

The update is backward-compatible and does not impact existing users. Developers can now directly access the file size from the capture result on Android without additional filesystem calls.
2025-09-01 19:55:41 +05:30
Ilya Pasternak
cc6d18ceaa change forbiddenBarcodeTypes property to allowedBarcodeTypes 2025-07-02 14:52:26 +03:00
Ilya Pasternak
6d0bed7ce0 add forbiddenBarcodeTypes property 2025-06-16 09:54:16 +03:00
Seph Soliman
76d956a69a Fixed lint issues
Removed hidden StatusBar to fix under-camera UI on Android
Fixed missing execution bit on gradlew
2025-06-09 14:05:14 -07:00
Aravind 🇮🇳
7f6110ecd5
Bump camerax_version to 1.4.2 2025-06-02 15:10:56 +07:00
Seph Soliman
dd6c8ca504 Fixed Android build regression caused by #690 2025-04-24 14:44:08 -07:00
Wojciech Lewicki
438d4c2f53
fix: maxPhotoQualityPrioritization and add barcode prop on new arch 2025-04-01 16:24:14 +02:00
Wojciech Lewicki
589c251888
Merge branch 'master' into @wolewicki/fix-booleans-and-add-missing-prop 2025-04-01 13:08:53 +02:00
Seph Soliman
bce9be11a9
Merge pull request #710 from jlapp9/fix/android-aspect-ratio
Use the view finder's dimensions instead of the whole screen's to determine the photo aspect ratio
2025-03-31 09:59:34 -07:00
Jameson Lapp
82facf01a4 Use the camera viewFinder's dimensions instead of the whole screen's to determine the photo aspect ratio 2025-03-11 15:07:23 -04:00
phlpsong
855b90b5fe feat: add barcodeFrameSize prop 2025-02-24 22:08:16 +08:00
Seph Soliman
5436375604
Merge pull request #693 from rawatnaresh/master
(Android) Add support to detect QR codes only when inside a frame
2025-02-11 11:04:09 -08:00
Seph Soliman
15a233a407
Merge pull request #687 from jlapp9/feature/android-buttonpress-events
Add support for onCaptureButtonPressIn and onCaptureButtonPressOut events on Android
2025-02-11 10:54:10 -08:00
Seph Soliman
8e43aafb19
Merge pull request #698 from aravind3566/patch-1
upgrade com.google.mlkit:barcode-scanning version
2025-02-11 10:07:59 -08:00
Aravind 🇮🇳
4a449babed
upgrade com.google.mlkit:barcode-scanning version 2025-02-08 13:56:19 +07:00
Karen
7e94541bbf fix(android): support RN 0.77 2025-01-27 10:47:41 +08:00
Naresh Rawat
2be02ce08f lint 2025-01-26 19:54:25 +05:45
Naresh Rawat
cf8c148b54 formatting 2025-01-25 16:27:09 +05:45
Naresh Rawat
e8fd5a75d1 reafactor 2025-01-25 16:09:45 +05:45
Naresh Rawat
5cc012ab60 QR code detection inside frame 2025-01-22 14:44:52 +05:45
Wojciech Lewicki
971b78e7d2
fix: booleans on ios and missing prop 2025-01-07 15:58:15 +01:00
Jameson Lapp
40794948bc Add support for onCaptureButtonPressIn and onCaptureButtonPressOut events on Android 2024-12-19 14:35:28 -05:00
Wojciech Lewicki
79dfe34189
fix: apply changes from review 2024-08-09 09:37:14 +02:00
Wojciech Lewicki
b8417d8c5e
fix: apply changes from review 2024-08-08 14:23:38 +02:00
Wojciech Lewicki
3b0f913704
fix: indent 2024-08-08 12:46:54 +02:00
Wojciech Lewicki
0e15019377
feat: add support for new arch 2024-08-06 11:35:56 +02:00