From 431389b00ceee67ff7a5d91285fe01fa6b65ea1d Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Fri, 2 Jul 2021 20:48:43 +0200 Subject: [PATCH] Don't crash onConfigureFailed --- .../otaliastudios/cameraview/engine/Camera2Engine.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java index 041dcc44..0f14f0ec 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java @@ -590,9 +590,15 @@ public class Camera2Engine extends CameraBaseEngine implements @Override public void onConfigureFailed(@NonNull CameraCaptureSession session) { - // This SHOULD be a library error so we throw a RuntimeException. String message = LOG.e("onConfigureFailed! Session", session); - throw new RuntimeException(message); + Throwable cause = new RuntimeException(message); + if (!task.getTask().isComplete()) { + task.trySetException(new CameraException(cause, + CameraException.REASON_FAILED_TO_START_PREVIEW)); + } else { + // Like onStartEngine.onError + throw new CameraException(CameraException.REASON_DISCONNECTED); + } } @Override