From 8dd9b583a98ed46133ab932487508ebae631343d Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Wed, 1 Apr 2015 22:24:43 +0100 Subject: [PATCH] Don't request focus modes that aren't supported by the camera. --- src/org/briarproject/qrtest/CameraView.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/org/briarproject/qrtest/CameraView.java b/src/org/briarproject/qrtest/CameraView.java index 4939b2f..eb611f1 100644 --- a/src/org/briarproject/qrtest/CameraView.java +++ b/src/org/briarproject/qrtest/CameraView.java @@ -41,7 +41,11 @@ AutoFocusCallback { this.previewConsumer = previewConsumer; setDisplayOrientation(rotationDegrees); Parameters params = camera.getParameters(); - params.setFocusMode(macro ? FOCUS_MODE_MACRO : FOCUS_MODE_AUTO); + List<String> modes = params.getSupportedFocusModes(); + if(macro && modes.contains(FOCUS_MODE_MACRO)) + params.setFocusMode(FOCUS_MODE_MACRO); + else if(modes.contains(FOCUS_MODE_AUTO)) + params.setFocusMode(FOCUS_MODE_AUTO); camera.setParameters(params); SurfaceHolder holder = getHolder(); holder.addCallback(this); @@ -68,6 +72,7 @@ AutoFocusCallback { private void stopPreview() { try { previewConsumer.stop(); + camera.cancelAutoFocus(); camera.stopPreview(); } catch(Exception e) { Log.e(TAG, "Error stopping camera preview", e); -- GitLab