From 42c0a20060a98ff8606c9e420dd99459dedb9395 Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Mon, 9 Dec 2019 21:30:02 +0100 Subject: [PATCH] Test --- .../otaliastudios/cameraview/tools/RecoverCameraRule.java | 2 ++ .../com/otaliastudios/cameraview/engine/Camera1Engine.java | 2 ++ .../com/otaliastudios/cameraview/engine/CameraEngine.java | 6 +++--- .../com/otaliastudios/cameraview/video/VideoRecorder.java | 2 ++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/tools/RecoverCameraRule.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/tools/RecoverCameraRule.java index cbad81d6..aa9f9856 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/tools/RecoverCameraRule.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/tools/RecoverCameraRule.java @@ -45,6 +45,8 @@ public class RecoverCameraRule implements TestRule { mCallback.getLogger().e("**************************************"); mCallback.getCamera().destroy(); base.evaluate(); + } else { + throw throwable; } } } diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java index 81685a53..4170e3e7 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java @@ -312,6 +312,7 @@ public class Camera1Engine extends CameraEngine implements @EngineThread @Override protected void onTakePicture(@NonNull PictureResult.Stub stub, boolean doMetering) { + LOG.i("onTakePicture:", "executing."); stub.rotation = getAngles().offset(Reference.SENSOR, Reference.OUTPUT, Axis.RELATIVE_TO_SENSOR); stub.size = getPictureSize(Reference.OUTPUT); @@ -324,6 +325,7 @@ public class Camera1Engine extends CameraEngine implements protected void onTakePictureSnapshot(@NonNull PictureResult.Stub stub, @NonNull AspectRatio outputRatio, boolean doMetering) { + LOG.i("onTakePictureSnapshot:", "executing."); // Not the real size: it will be cropped to match the view ratio stub.size = getUncroppedSnapshotSize(Reference.OUTPUT); // Actually it will be rotated and set to 0. diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java index 7d17f7e8..c354bcbd 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java @@ -340,7 +340,7 @@ public abstract class CameraEngine implements // Cannot use Tasks.await() because we might be on the UI thread. final CountDownLatch latch = new CountDownLatch(1); stop(true).addOnCompleteListener( - WorkerHandler.get().getExecutor(), + mHandler.getExecutor(), new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { @@ -348,9 +348,9 @@ public abstract class CameraEngine implements } }); try { - boolean success = latch.await(3, TimeUnit.SECONDS); + boolean success = latch.await(6, TimeUnit.SECONDS); if (!success) { - LOG.e("Probably some deadlock in destroy.", + LOG.e("DESTROY: Could not destroy synchronously after 6 seconds.", "Current thread:", Thread.currentThread(), "Handler thread: ", mHandler.getThread()); } diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/video/VideoRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/video/VideoRecorder.java index 0705f392..d2a2bddb 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/video/VideoRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/video/VideoRecorder.java @@ -155,6 +155,7 @@ public abstract class VideoRecorder { @SuppressWarnings("WeakerAccess") @CallSuper protected void dispatchVideoRecordingStart() { + LOG.i("dispatchVideoRecordingStart:", "About to dispatch."); if (mListener != null) { mListener.onVideoRecordingStart(); } @@ -167,6 +168,7 @@ public abstract class VideoRecorder { @SuppressWarnings("WeakerAccess") @CallSuper protected void dispatchVideoRecordingEnd() { + LOG.i("dispatchVideoRecordingEnd:", "About to dispatch."); if (mListener != null) { mListener.onVideoRecordingEnd(); }