From 15b22ddf56fb8a0605165bd0dc695a030407a112 Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 7 Oct 2025 11:00:35 +0200 Subject: [PATCH 1/2] [HOTFIX] applyed legacy fix for verifone --- gradle/libs.versions.toml | 8 ++++---- .../scanengine/camera/CameraController.android.kt | 7 +++++++ .../scanengine/camera/common/Manufacturer.kt | 13 +++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7abaec4..9246e0f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,10 +5,10 @@ agp = "8.11.1" compose = "1.8.1" atomicfu = "0.28.0" -camera-core = "1.4.2" -camera-extensions = "1.4.2" -camera-lifecycle = "1.4.2" -camera-view = "1.4.2" +camera-core = "1.5.0" +camera-extensions = "1.5.0" +camera-lifecycle = "1.5.0" +camera-view = "1.5.0" mlKit = "17.3.0" playServicesMlkit = "18.3.1" diff --git a/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/CameraController.android.kt b/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/CameraController.android.kt index 4c3b6e4..85095ac 100644 --- a/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/CameraController.android.kt +++ b/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/CameraController.android.kt @@ -19,6 +19,7 @@ import com.google.mlkit.vision.barcode.BarcodeScanning import com.google.mlkit.vision.barcode.common.Barcode import com.google.mlkit.vision.common.InputImage import de.tillhub.scanengine.camera.common.CameraProvider +import de.tillhub.scanengine.camera.common.Manufacturer import java.util.concurrent.Executor /** @@ -87,6 +88,12 @@ internal actual class CameraController( .setResolutionSelector(createResolutionSelector()) .build() .also { + previewView.apply { + if (Manufacturer.matches(Manufacturer.VERIFONE)) { + scaleX = -1f + scaleY = -1f + } + } it.surfaceProvider = previewView.surfaceProvider } diff --git a/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt b/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt new file mode 100644 index 0000000..0c896ea --- /dev/null +++ b/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt @@ -0,0 +1,13 @@ +package de.tillhub.scanengine.camera.common + +import android.os.Build + +internal enum class Manufacturer(open val value: String) { + VERIFONE("Verifone"), + OTHER("OTHER"); + + companion object { + fun get(): Manufacturer = entries.firstOrNull { it.value == Build.MANUFACTURER } ?: OTHER + fun matches(value: Manufacturer): Boolean = get() == value + } +} \ No newline at end of file From 7482c6adc8fba8e2d1e2ef5b0f7dd234cebd2922 Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 7 Oct 2025 11:12:42 +0200 Subject: [PATCH 2/2] applied spotless fix --- .../de/tillhub/scanengine/camera/common/Manufacturer.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt b/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt index 0c896ea..df743c5 100644 --- a/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt +++ b/scan-engine/src/androidMain/kotlin/de/tillhub/scanengine/camera/common/Manufacturer.kt @@ -4,10 +4,11 @@ import android.os.Build internal enum class Manufacturer(open val value: String) { VERIFONE("Verifone"), - OTHER("OTHER"); + OTHER("OTHER"), + ; companion object { fun get(): Manufacturer = entries.firstOrNull { it.value == Build.MANUFACTURER } ?: OTHER fun matches(value: Manufacturer): Boolean = get() == value } -} \ No newline at end of file +}