I'm not sure why do I get the following errors with the following code:
override fun analyze(
imageProxy: ImageProxy,
) {
Timber.d("Inside analyze")
val currentTimestamp = System.currentTimeMillis()
if (currentTimestamp - lastAnalyzedTimestamp >= TimeUnit.SECONDS.toMillis(1)) {
imageProxy.image?.let { imageToAnalyze ->
val image = FirebaseVisionImage.fromMediaImage(
imageToAnalyze,
imageProxy.imageInfo.rotationDegrees
)
detector.detectInImage(image)
.addOnSuccessListener { barcodes ->
if (barcodes.isNotEmpty()) {
Timber.d("Scanned: $barcodes")
onBarcodesDetected(barcodes)
} else {
Timber.d("No barcode scanned")
}
}
.addOnFailureListener { exception ->
Timber.d("BarcodeAnalyser: Something went wrong with exception: $exception")
}
.addOnCompleteListener {
imageProxy.close()
}
}
lastAnalyzedTimestamp = currentTimestamp
} else {
imageProxy.close()
}
}
Exception 1:
java.lang.VerifyError: Superclass com.google.firebase.ml.vision.barcode.internal.zzj of com.google.firebase.ml.vision.barcode.BarcodeDetectorCreator is declared final (declaration of 'com.google.firebase.ml.vision.barcode.BarcodeDetectorCreator' appears in /data/app/~~xtNwRdP-8INX_Et8TKobrw==/com.ecoscanner.android-N16rSJ0NNkb2A00mYWrcRw==/base.apk!classes22.dex) at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) at java.lang.ClassLoader.loadClass(ClassLoader.java:363) at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
Exception 2:
java.lang.IllegalArgumentException atcom.google.android.gms.common.internal.Preconditions.checkArgument(com.google.android.gms:play-services-basement@@18.1.0:1) at com.google.firebase.ml.vision.common.FirebaseVisionImageMetadata$Builder.setRotation(com.google.firebase:firebase-ml-vision@@24.0.3:8) at com.google.firebase.ml.vision.common.FirebaseVisionImage.fromMediaImage(com.google.firebase:firebase-ml-vision@@24.0.3:24) at com.ecoscanner.android.features.scanner.BarcodeAnalyser.analyze(ScannerScreen.kt:142) at androidx.camera.core.ImageAnalysis.lambda$setAnalyzer$2(ImageAnalysis.java:481) at androidx.camera.core.ImageAnalysis$$ExternalSyntheticLambda2.analyze(Unknown Source:2) at androidx.camera.core.ImageAnalysisAbstractAnalyzer
p.s. libs versions:
androidxCameraBom = "1.2.3"
firebaseBom = "32.1.1"
firebaseMLVision = "24.0.3"
firebaseMLVisionBarcodeModel = "16.0.1"
gmsPlugin = "4.3.15"