From 741cd4cc60f92efae254af4bc613ce97999f7150 Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Thu, 28 Nov 2019 13:21:50 +0100 Subject: [PATCH] Check engine state after picture metering - Fixes #685 --- .../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 c25dd20e..2fbbd900 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java @@ -690,7 +690,10 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv action.addCallback(new CompletionCallback() { @Override protected void onActionCompleted(@NonNull Action action) { - onTakePictureSnapshot(stub, outputRatio, false); + // This is called on any thread, so be careful. + setPictureSnapshotMetering(false); + takePictureSnapshot(stub); + setPictureSnapshotMetering(true); } }); action.start(this); @@ -720,7 +723,10 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv action.addCallback(new CompletionCallback() { @Override protected void onActionCompleted(@NonNull Action action) { - onTakePicture(stub, false); + // This is called on any thread, so be careful. + setPictureMetering(false); + takePicture(stub); + setPictureMetering(true); } }); action.start(this);