react-native-vision-camera/android
Marc Rousavy 12f850c8e1
feat: Draw onto Frame as if it was a Skia Canvas (#1479)
* Create Shaders.ts

* Add `previewType` and `enableFpsGraph`

* Add RN Skia native dependency

* Add Skia Preview View on iOS

* Pass 1

* Update FrameHostObject.mm

* Wrap Canvas

* Lockfiles

* fix: Fix stuff

* chore: Upgrade RNWorklets

* Add `previewType` to set the Preview

* feat: Add Example

* Update project.pbxproj

* `enableFpsGraph`

* Cache the `std::shared_ptr<FrameHostObject>`

* Update CameraView+RecordVideo.swift

* Update SkiaMetalCanvasProvider.mm

* Android: Integrate Skia Dependency

* fix: Use new Prefix

* Add example for rendering shader

* chore: Upgrade CameraX

* Remove KTX

* Enable `viewBinding`

* Revert "Enable `viewBinding`"

This reverts commit f2a603f53b33ea4311a296422ffd1a910ce03f9e.

* Revert "chore: Upgrade CameraX"

This reverts commit 8dc832cf8754490d31a6192e6c1a1f11cdcd94fe.

* Remove unneeded `ProcessCameraProvider.getInstance()` call

* fix: Add REA hotfix patch

* fix: Fix FrameHostObject dead in runAsync

* fix: Make `runAsync` run truly async by dropping new Frames while executing

* chore: Upgrade RN Worklets to latest

* chore: Upgrade RN Skia

* Revert "Remove KTX"

This reverts commit 253f586633f7af2da992d2279fc206dc62597129.

* Make Skia optional in CMake

* Fix import

* Update CMakeLists.txt

* Update build.gradle

* Update CameraView.kt

* Update CameraView.kt

* Update CameraView.kt

* Update Shaders.ts

* Center Blur

* chore: Upgrade RN Worklets

* feat: Add `toByteArray()`, `orientation`, `isMirrored` and `timestamp` to `Frame` (#1487)

* feat: Implement `orientation` and `isMirrored` on Frame

* feat: Add `toArrayBuffer()` func

* perf: Do faster buffer copy

* feat: Implement `toArrayBuffer()` on Android

* feat: Add `orientation` and `isMirrored` to Android

* feat: Add `timestamp` to Frame

* Update Frame.ts

* Update JImageProxy.h

* Update FrameHostObject.cpp

* Update FrameHostObject.cpp

* Update CameraPage.tsx

* fix: Format Swift
2023-02-21 15:00:48 +01:00
..
.settings Bootstrap 2021-02-19 16:07:53 +01:00
gradle/wrapper chore: Upgrade to RN 71 (#1465) 2023-02-09 11:52:41 +01:00
src/main feat: Draw onto Frame as if it was a Skia Canvas (#1479) 2023-02-21 15:00:48 +01:00
.editorconfig Devops: KTLint to lint Kotlin code (#6) 2021-02-26 10:56:20 +01:00
.project Bootstrap 2021-02-19 16:07:53 +01:00
build.gradle feat: Draw onto Frame as if it was a Skia Canvas (#1479) 2023-02-21 15:00:48 +01:00
CMakeLists.txt feat: Draw onto Frame as if it was a Skia Canvas (#1479) 2023-02-21 15:00:48 +01:00
gradle.properties chore: Upgrade to RN 71 (#1465) 2023-02-09 11:52:41 +01:00
gradlew chore: Upgrade to RN 71 (#1465) 2023-02-09 11:52:41 +01:00
gradlew.bat Upgrade Example to RN 0.64 (#83) 2021-03-19 15:53:19 +01:00
README.md Add "check-all" script 2021-03-09 12:19:18 +01:00
settings.gradle feat: Replace Reanimated with RN Worklets (#1468) 2023-02-13 15:22:45 +01:00

android

This folder contains the Android-platform-specific code for react-native-vision-camera.

Prerequesites

  1. Install ktlint
    brew install ktlint
    

Getting Started

It is recommended that you work on the code using the Example project (example/android/), since that always includes the React Native header files, plus you can easily test changes that way.

You can however still edit the library project here by opening this folder with Android Studio.

Committing

Before committing, make sure that you're not violating the Kotlin codestyles. To do that, run the following command:

yarn check-android

This will also try to automatically fix any errors by re-formatting the Kotlin code.