Avoid crash when processing a captured image fails (#93)
This commit is contained in:
2
app/proguard-rules.pro
vendored
2
app/proguard-rules.pro
vendored
@@ -26,3 +26,5 @@
|
|||||||
|
|
||||||
-keep class org.fairscan.app.RecentDocument* { *; }
|
-keep class org.fairscan.app.RecentDocument* { *; }
|
||||||
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite { *; }
|
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite { *; }
|
||||||
|
# to have at least org.opencv.core.CvException
|
||||||
|
-keep class org.opencv.core.** { *; }
|
||||||
|
|||||||
@@ -116,10 +116,15 @@ class CameraViewModel(appContainer: AppContainer): ViewModel() {
|
|||||||
fun onImageCaptured(imageProxy: ImageProxy?) {
|
fun onImageCaptured(imageProxy: ImageProxy?) {
|
||||||
if (imageProxy != null) {
|
if (imageProxy != null) {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
|
try {
|
||||||
val source = imageProxy.toBitmap()
|
val source = imageProxy.toBitmap()
|
||||||
val page = processCapturedImage(source, imageProxy.imageInfo.rotationDegrees)
|
val page = processCapturedImage(source, imageProxy.imageInfo.rotationDegrees)
|
||||||
imageProxy.close()
|
imageProxy.close()
|
||||||
onCaptureProcessed(page)
|
onCaptureProcessed(page)
|
||||||
|
} catch (e: RuntimeException) {
|
||||||
|
logger.e("Camera", "Failed to process captured image", e)
|
||||||
|
onCaptureProcessed(null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
onCaptureProcessed(null)
|
onCaptureProcessed(null)
|
||||||
|
|||||||
Reference in New Issue
Block a user