Remove CameraPreviewManager and CameraPreviewView classes to streamline camera functionality integration.
This commit is contained in:
@@ -1,39 +0,0 @@
|
|||||||
package com.lynkeduppro.camera
|
|
||||||
|
|
||||||
import com.facebook.react.uimanager.SimpleViewManager
|
|
||||||
import com.facebook.react.uimanager.ThemedReactContext
|
|
||||||
import com.facebook.react.uimanager.annotations.ReactProp
|
|
||||||
import com.facebook.react.bridge.LifecycleEventListener
|
|
||||||
|
|
||||||
class CameraPreviewManager :
|
|
||||||
SimpleViewManager<CameraPreviewView>(),
|
|
||||||
LifecycleEventListener {
|
|
||||||
|
|
||||||
private var previewView: CameraPreviewView? = null
|
|
||||||
|
|
||||||
override fun getName(): String = "CameraPreviewView"
|
|
||||||
|
|
||||||
override fun createViewInstance(reactContext: ThemedReactContext): CameraPreviewView {
|
|
||||||
previewView = CameraPreviewView(reactContext)
|
|
||||||
reactContext.addLifecycleEventListener(this)
|
|
||||||
return previewView!!
|
|
||||||
}
|
|
||||||
|
|
||||||
@ReactProp(name = "active")
|
|
||||||
fun setActive(view: CameraPreviewView, active: Boolean) {
|
|
||||||
if (active && reactContext is androidx.lifecycle.LifecycleOwner) {
|
|
||||||
view.startCamera(reactContext as androidx.lifecycle.LifecycleOwner)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onHostResume() {
|
|
||||||
previewView?.let {
|
|
||||||
if (reactContext is androidx.lifecycle.LifecycleOwner) {
|
|
||||||
it.startCamera(reactContext as androidx.lifecycle.LifecycleOwner)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onHostPause() {}
|
|
||||||
override fun onHostDestroy() {}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
package com.lynkeduppro.camera
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import androidx.camera.core.CameraSelector
|
|
||||||
import androidx.camera.core.Preview
|
|
||||||
import androidx.camera.lifecycle.ProcessCameraProvider
|
|
||||||
import androidx.camera.view.PreviewView
|
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
import androidx.lifecycle.LifecycleOwner
|
|
||||||
|
|
||||||
class CameraPreviewView(context: Context) : PreviewView(context) {
|
|
||||||
|
|
||||||
fun startCamera(lifecycleOwner: LifecycleOwner) {
|
|
||||||
val cameraProviderFuture = ProcessCameraProvider.getInstance(context)
|
|
||||||
|
|
||||||
cameraProviderFuture.addListener({
|
|
||||||
val cameraProvider = cameraProviderFuture.get()
|
|
||||||
|
|
||||||
val preview = Preview.Builder().build().also {
|
|
||||||
it.setSurfaceProvider(surfaceProvider)
|
|
||||||
}
|
|
||||||
|
|
||||||
val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
|
|
||||||
|
|
||||||
cameraProvider.unbindAll()
|
|
||||||
cameraProvider.bindToLifecycle(
|
|
||||||
lifecycleOwner,
|
|
||||||
cameraSelector,
|
|
||||||
preview
|
|
||||||
)
|
|
||||||
}, ContextCompat.getMainExecutor(context))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user