Avoid crash when processing a captured image fails (#93)

This commit is contained in:
Pierre-Yves Nicolas
2026-01-16 14:12:47 +01:00
parent 855dbe75ed
commit 48985fb6b4
2 changed files with 11 additions and 4 deletions

View File

@@ -26,3 +26,5 @@
-keep class org.fairscan.app.RecentDocument* { *; }
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite { *; }
# to have at least org.opencv.core.CvException
-keep class org.opencv.core.** { *; }

View File

@@ -116,10 +116,15 @@ class CameraViewModel(appContainer: AppContainer): ViewModel() {
fun onImageCaptured(imageProxy: ImageProxy?) {
if (imageProxy != null) {
viewModelScope.launch {
val source = imageProxy.toBitmap()
val page = processCapturedImage(source, imageProxy.imageInfo.rotationDegrees)
imageProxy.close()
onCaptureProcessed(page)
try {
val source = imageProxy.toBitmap()
val page = processCapturedImage(source, imageProxy.imageInfo.rotationDegrees)
imageProxy.close()
onCaptureProcessed(page)
} catch (e: RuntimeException) {
logger.e("Camera", "Failed to process captured image", e)
onCaptureProcessed(null)
}
}
} else {
onCaptureProcessed(null)