googlesamples / googlesamples/mlkit
[Bug report] Demo app barcode AutoZoom not working for CameraXLivePreview in Kotlin
- Dominant language
- Kotlin
- Stars
- 4.3k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
Bug only in the demo app:
When running the vision-quickstart demo in CameraXLivePreview.kt the AutoZoom feature does not work when using the barcode image processor. The exception is non-fatal but a NullPointer is thrown when trying to set the camera zoom ratio.
**To Reproduce**
Steps to reproduce the behavior in sample app:
1. Go to 'Run the ML Kit in Kotlin'
2. Select 'CameraXLivePreviewActivity'
3. In the image processor options select 'barcode scanning'
4. Attempt to scan a barcode and monitor logs
Error trace:
```
CameraXLivePreview com.google.mlkit.vision.demo I Set zoom ratio 1.5238097
AutoZoom com.google.mlkit.vision.demo W Unable to set zoom to 1.5238097
java.lang.NullPointerException
at com.google.mlkit.vision.demo.kotlin.CameraXLivePreviewActivity.bindAnalysisUseCase$lambda$5(CameraXLivePreviewActivity.kt:319)
at com.google.mlkit.vision.demo.kotlin.CameraXLivePreviewActivity.$r8$lambda$0riAQ7wGR95ntlO3_UXXcbaS5J4(Unknown Source:0)
at com.google.mlkit.vision.demo.kotlin.CameraXLivePreviewActivity$$ExternalSyntheticLambda0.setZoom(Unknown Source:2)
at com.google.android.gms.internal.mlkit_vision_barcode.zzus.zzc(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:2)
at com.google.android.gms.internal.mlkit_vision_barcode.zzup.zza(Unknown Source:4)
at com.google.android.gms.internal.mlkit_vision_barcode.zzex.zza(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:1)
at com.google.android.gms.internal.mlkit_vision_barcode.zzeu.run(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:4)
at com.google.android.gms.internal.mlkit_vision_barcode.zzey.run(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:1)
at com.google.android.gms.internal.mlkit_vision_barcode.zzem.zzc(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:3)
at com.google.android.gms.internal.mlkit_vision_barcode.zzus.zzl(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:4)
at com.google.android.gms.internal.mlkit_vision_barcode.zzus.zzi(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:45)
at com.google.mlkit.vision.barcode.internal.BarcodeScannerImpl.zzd(com.google.android.gms:play-services-mlkit-barcode-scanning@@18.3.0:17)
at com.google.mlkit.vision.barcode.internal.zze.then(Unknown Source:8)
at com.google.android.gms.tasks.zzo.run(com.google.android.gms:play-services-tasks@@18.0.2:1)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
```
**Expected behavior**
Camera zooms into the barcode
**Actual behaviour**
Camera does not zoom into the barcode and throws NPE silently
**SDK Info:**
- 'com.google.mlkit:barcode-scanning:17.2.0'
I believe the app is missing the re-assignment of the camera variable after binding the analysis use case
Please assign camera in `CameraXLivePreviewActivity.kt:408`:
```
camera = cameraProvider!!.bindToLifecycle(...)
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.