From a067fc2702cdb4e87dc1f969d84cb280568b0475 Mon Sep 17 00:00:00 2001 From: Tim H Date: Fri, 10 Nov 2017 12:43:28 +0100 Subject: [PATCH] fix last commit about setFacing --- .../java/com/otaliastudios/cameraview/Camera1.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java b/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java index 59623034..e87e7bf7 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java @@ -338,17 +338,19 @@ class Camera1 extends CameraController { void setFacing(Facing facing) { if (facing != mFacing) { - // call these methods before actually changing the attribute's value, because - // collectCameraId may raise an exception that prevents us from changing anything here + Facing oldFacing = mFacing; try { - boolean restart = collectCameraId() && isCameraAvailable(); - + // this value must be set before calling collectCameraId() mFacing = facing; - if (restart) { + + if (collectCameraId() && isCameraAvailable()) { restart(); } } catch (Exception e) { + // collectCameraId may raise an exception that prevents us from changing anything here + // -> undo failed configuration change + mFacing = oldFacing; CameraException cameraException = new CameraConfigurationFailedException("Failed to set the camera facing.", e); mCameraCallbacks.onError(cameraException);