chore: Rename CodeScanner
to CodeScannerOptions
in native (#2010)
* chore: Rename `CodeScanner` to `CodeScannerOptions` on native * chore: Rename `CodeScanner` on iOS * fix: Unwrap `options` * Format
This commit is contained in:
@@ -26,7 +26,7 @@ import com.mrousavy.camera.extensions.getPreviewTargetSize
|
||||
import com.mrousavy.camera.extensions.installHierarchyFitter
|
||||
import com.mrousavy.camera.extensions.smaller
|
||||
import com.mrousavy.camera.frameprocessor.FrameProcessor
|
||||
import com.mrousavy.camera.parsers.CodeScanner
|
||||
import com.mrousavy.camera.parsers.CodeScannerOptions
|
||||
import com.mrousavy.camera.parsers.Orientation
|
||||
import com.mrousavy.camera.parsers.PixelFormat
|
||||
import com.mrousavy.camera.parsers.ResizeMode
|
||||
@@ -88,7 +88,7 @@ class CameraView(context: Context) :
|
||||
var enableZoomGesture: Boolean = false
|
||||
|
||||
// code scanner
|
||||
var codeScannerOptions: CodeScanner? = null
|
||||
var codeScannerOptions: CodeScannerOptions? = null
|
||||
|
||||
// private properties
|
||||
private var isMounted = false
|
||||
|
@@ -5,7 +5,7 @@ import com.facebook.react.common.MapBuilder
|
||||
import com.facebook.react.uimanager.ThemedReactContext
|
||||
import com.facebook.react.uimanager.ViewGroupManager
|
||||
import com.facebook.react.uimanager.annotations.ReactProp
|
||||
import com.mrousavy.camera.parsers.CodeScanner
|
||||
import com.mrousavy.camera.parsers.CodeScannerOptions
|
||||
import com.mrousavy.camera.parsers.Orientation
|
||||
import com.mrousavy.camera.parsers.PixelFormat
|
||||
import com.mrousavy.camera.parsers.ResizeMode
|
||||
@@ -204,7 +204,7 @@ class CameraViewManager : ViewGroupManager<CameraView>() {
|
||||
|
||||
@ReactProp(name = "codeScannerOptions")
|
||||
fun setCodeScanner(view: CameraView, codeScannerOptions: ReadableMap) {
|
||||
val newCodeScannerOptions = CodeScanner(codeScannerOptions)
|
||||
val newCodeScannerOptions = CodeScannerOptions(codeScannerOptions)
|
||||
if (view.codeScannerOptions != newCodeScannerOptions) {
|
||||
addChangedPropToTransaction(view, "codeScannerOptions")
|
||||
}
|
||||
|
@@ -26,7 +26,7 @@ class CodeScannerPipeline(val size: Size, val format: Int, val output: CameraOut
|
||||
get() = imageReader.surface
|
||||
|
||||
init {
|
||||
val types = output.codeScanner.codeTypes.map { it.toBarcodeType() }
|
||||
val types = output.options.codeTypes.map { it.toBarcodeType() }
|
||||
val barcodeScannerOptions = BarcodeScannerOptions.Builder()
|
||||
.setBarcodeFormats(types[0], *types.toIntArray())
|
||||
.build()
|
||||
@@ -69,7 +69,7 @@ class CodeScannerPipeline(val size: Size, val format: Int, val output: CameraOut
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
val codeTypes = output.codeScanner.codeTypes.joinToString(", ")
|
||||
val codeTypes = output.options.codeTypes.joinToString(", ")
|
||||
return "${size.width} x ${size.height} CodeScanner for [$codeTypes] ($format)"
|
||||
}
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@ import com.mrousavy.camera.extensions.getPhotoSizes
|
||||
import com.mrousavy.camera.extensions.getPreviewTargetSize
|
||||
import com.mrousavy.camera.extensions.getVideoSizes
|
||||
import com.mrousavy.camera.extensions.smaller
|
||||
import com.mrousavy.camera.parsers.CodeScanner
|
||||
import com.mrousavy.camera.parsers.CodeScannerOptions
|
||||
import com.mrousavy.camera.parsers.PixelFormat
|
||||
import java.io.Closeable
|
||||
|
||||
@@ -46,7 +46,7 @@ class CameraOutputs(
|
||||
val format: PixelFormat = PixelFormat.NATIVE
|
||||
)
|
||||
data class CodeScannerOutput(
|
||||
val codeScanner: CodeScanner,
|
||||
val options: CodeScannerOptions,
|
||||
val onCodeScanned: (codes: List<Barcode>) -> Unit,
|
||||
val onError: (error: Throwable) -> Unit
|
||||
)
|
||||
@@ -84,7 +84,7 @@ class CameraOutputs(
|
||||
this.video?.enableRecording == other.video?.enableRecording &&
|
||||
this.video?.targetSize == other.video?.targetSize &&
|
||||
this.video?.format == other.video?.format &&
|
||||
this.codeScanner?.codeScanner == other.codeScanner?.codeScanner &&
|
||||
this.codeScanner?.options == other.codeScanner?.options &&
|
||||
this.enableHdr == other.enableHdr
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ class CameraOutputs(
|
||||
val size = characteristics.getVideoSizes(cameraId, format).closestToOrMax(targetSize)
|
||||
val pipeline = CodeScannerPipeline(size, format, codeScanner)
|
||||
|
||||
Log.i(TAG, "Adding ${size.width}x${size.height} code scanner output. (Code Types: ${codeScanner.codeScanner.codeTypes})")
|
||||
Log.i(TAG, "Adding ${size.width}x${size.height} code scanner output. (Code Types: ${codeScanner.options.codeTypes})")
|
||||
codeScannerOutput = BarcodeScannerOutput(pipeline)
|
||||
}
|
||||
|
||||
|
@@ -3,7 +3,7 @@ package com.mrousavy.camera.parsers
|
||||
import com.facebook.react.bridge.ReadableMap
|
||||
import com.mrousavy.camera.core.InvalidTypeScriptUnionError
|
||||
|
||||
class CodeScanner(map: ReadableMap) {
|
||||
class CodeScannerOptions(map: ReadableMap) {
|
||||
val codeTypes: List<CodeType>
|
||||
|
||||
init {
|
||||
@@ -14,7 +14,7 @@ class CodeScanner(map: ReadableMap) {
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (other !is CodeScanner) return false
|
||||
if (other !is CodeScannerOptions) return false
|
||||
return codeTypes.size == other.codeTypes.size && codeTypes.containsAll(other.codeTypes)
|
||||
}
|
||||
|
Reference in New Issue
Block a user