Skip to content

Commit

Permalink
feat: Give V4 馃
Browse files Browse the repository at this point in the history
  • Loading branch information
mrousavy committed Feb 29, 2024
1 parent e8dd1e0 commit dd4c8fb
Show file tree
Hide file tree
Showing 23 changed files with 135 additions and 1,796 deletions.
13 changes: 12 additions & 1 deletion package/android/build.gradle
Expand Up @@ -167,7 +167,18 @@ android {
dependencies {
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-android:+"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"

// CameraX dependency
def camerax_version = "1.3.1"
implementation "androidx.camera:camera-core:${camerax_version}"
implementation "androidx.camera:camera-camera2:${camerax_version}"
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
implementation "androidx.camera:camera-video:${camerax_version}"
implementation "androidx.camera:camera-view:${camerax_version}"
implementation "androidx.camera:camera-extensions:${camerax_version}"

// Some Coroutines extension functions
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0"

if (enableCodeScanner) {
// User enabled code-scanner, so we bundle the 2.4 MB model in the app.
Expand Down
Expand Up @@ -7,12 +7,12 @@ import android.util.Log
import android.view.Gravity
import android.view.ScaleGestureDetector
import android.widget.FrameLayout
import androidx.camera.view.PreviewView
import com.google.mlkit.vision.barcode.common.Barcode
import com.mrousavy.camera.core.CameraConfiguration
import com.mrousavy.camera.core.CameraQueues
import com.mrousavy.camera.core.CameraSession
import com.mrousavy.camera.core.CodeScannerFrame
import com.mrousavy.camera.core.PreviewView
import com.mrousavy.camera.extensions.installHierarchyFitter
import com.mrousavy.camera.frameprocessor.Frame
import com.mrousavy.camera.frameprocessor.FrameProcessor
Expand Down Expand Up @@ -78,7 +78,7 @@ class CameraView(context: Context) :
}
var resizeMode: ResizeMode = ResizeMode.COVER
set(value) {
previewView.resizeMode = value
previewView.scaleType = value.toScaleType()
field = value
}
var enableFpsGraph = false
Expand Down Expand Up @@ -152,6 +152,9 @@ class CameraView(context: Context) :
// Input Camera Device
config.cameraId = cameraId

// Preview
config.preview = CameraConfiguration.Output.Enabled.create(CameraConfiguration.Preview(previewView.surfaceProvider))

// Photo
if (photo) {
config.photo = CameraConfiguration.Output.Enabled.create(CameraConfiguration.Photo(photoHdr))
Expand Down
@@ -1,6 +1,6 @@
package com.mrousavy.camera.core

import android.view.Surface
import androidx.camera.core.Preview.SurfaceProvider
import com.mrousavy.camera.types.CameraDeviceFormat
import com.mrousavy.camera.types.CodeType
import com.mrousavy.camera.types.Orientation
Expand Down Expand Up @@ -46,7 +46,7 @@ data class CameraConfiguration(
data class Photo(val enableHdr: Boolean)
data class Video(val enableHdr: Boolean, val pixelFormat: PixelFormat, val enableFrameProcessor: Boolean, val enableGpuBuffers: Boolean)
data class Audio(val nothing: Unit)
data class Preview(val surface: Surface)
data class Preview(val surfaceProvider: SurfaceProvider)

@Suppress("EqualsOrHashCode")
sealed class Output<T> {
Expand Down

0 comments on commit dd4c8fb

Please sign in to comment.