From 44c09054450d0ed88e5c0f0acaeed13bc4f5483d Mon Sep 17 00:00:00 2001 From: Pablo Pallocchi Date: Thu, 27 Jul 2023 22:29:17 -0300 Subject: [PATCH 1/2] Make auto-focus delay configurable --- .../barcodescanner/camera/AutoFocusManager.java | 8 +++++--- .../barcodescanner/camera/CameraSettings.java | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java b/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java index 03953ba8e..aee600100 100644 --- a/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java +++ b/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java @@ -32,11 +32,12 @@ public final class AutoFocusManager { private static final String TAG = AutoFocusManager.class.getSimpleName(); - private static final long AUTO_FOCUS_INTERVAL_MS = 2000L; - private boolean stopped; private boolean focusing; private final boolean useAutoFocus; + + private long autoFocusDelay; + private final Camera camera; private Handler handler; @@ -76,13 +77,14 @@ public AutoFocusManager(Camera camera, CameraSettings settings) { this.camera = camera; String currentFocusMode = camera.getParameters().getFocusMode(); useAutoFocus = settings.isAutoFocusEnabled() && FOCUS_MODES_CALLING_AF.contains(currentFocusMode); + autoFocusDelay = settings.getAutoFocusDelay(); Log.i(TAG, "Current focus mode '" + currentFocusMode + "'; use auto focus? " + useAutoFocus); start(); } private synchronized void autoFocusAgainLater() { if (!stopped && !handler.hasMessages(MESSAGE_FOCUS)) { - handler.sendMessageDelayed(handler.obtainMessage(MESSAGE_FOCUS), AUTO_FOCUS_INTERVAL_MS); + handler.sendMessageDelayed(handler.obtainMessage(MESSAGE_FOCUS), autoFocusDelay); } } diff --git a/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/CameraSettings.java b/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/CameraSettings.java index 33fe97ba2..b22913f52 100644 --- a/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/CameraSettings.java +++ b/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/CameraSettings.java @@ -11,6 +11,7 @@ public class CameraSettings { private boolean barcodeSceneModeEnabled = false; private boolean meteringEnabled = false; private boolean autoFocusEnabled = true; + private long autoFocusDelay = 2000L; private boolean continuousFocusEnabled = false; private boolean exposureEnabled = false; private boolean autoTorchEnabled = false; @@ -114,6 +115,19 @@ public void setAutoFocusEnabled(boolean autoFocusEnabled) { } } + /** + * Returns the delay of auto-focus, in milliseconds + * + * @return delay in milliseconds + */ + public long getAutoFocusDelay() { + return autoFocusDelay; + } + + public void setAutoFocusDelay(long autoFocusDelay) { + this.autoFocusDelay = autoFocusDelay; + } + /** * Default to false. * From a74ff6736be5a93fc3858870e59bb660ccfa1987 Mon Sep 17 00:00:00 2001 From: Pablo Pallocchi Date: Thu, 27 Jul 2023 22:54:57 -0300 Subject: [PATCH 2/2] Remove blank lines --- .../com/journeyapps/barcodescanner/camera/AutoFocusManager.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java b/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java index aee600100..b17fda65c 100644 --- a/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java +++ b/zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java @@ -35,9 +35,7 @@ public final class AutoFocusManager { private boolean stopped; private boolean focusing; private final boolean useAutoFocus; - private long autoFocusDelay; - private final Camera camera; private Handler handler;