From 6d1a0a5792d0749e4cfbf9a00a6966c3c2e04245 Mon Sep 17 00:00:00 2001 From: Daniel Lublin Date: Wed, 3 Nov 2021 09:33:26 +0100 Subject: [PATCH] Refactor qrcode and its camera classes to separate package --- .../contact/add/nearby/AddNearbyContactFragment.java | 2 ++ .../contact/add/nearby/AddNearbyContactViewModel.java | 3 ++- .../briar/android/hotspot/HotspotManager.java | 4 ++-- .../briar/android/hotspot/WebServerManager.java | 4 ++-- .../{contact/add/nearby => qrcode}/CameraException.java | 4 ++-- .../{contact/add/nearby => qrcode}/CameraView.java | 2 +- .../{contact/add/nearby => qrcode}/PreviewConsumer.java | 4 ++-- .../{contact/add/nearby => qrcode}/QrCodeDecoder.java | 8 ++++---- .../briar/android/{util => qrcode}/QrCodeUtils.java | 5 ++--- .../src/main/res/layout/fragment_keyagreement_qr.xml | 2 +- 10 files changed, 20 insertions(+), 18 deletions(-) rename briar-android/src/main/java/org/briarproject/briar/android/{contact/add/nearby => qrcode}/CameraException.java (58%) rename briar-android/src/main/java/org/briarproject/briar/android/{contact/add/nearby => qrcode}/CameraView.java (99%) rename briar-android/src/main/java/org/briarproject/briar/android/{contact/add/nearby => qrcode}/PreviewConsumer.java (73%) rename briar-android/src/main/java/org/briarproject/briar/android/{contact/add/nearby => qrcode}/QrCodeDecoder.java (95%) rename briar-android/src/main/java/org/briarproject/briar/android/{util => qrcode}/QrCodeUtils.java (97%) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactFragment.java index fc3d43feb..09ba81b32 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactFragment.java @@ -20,6 +20,8 @@ import org.briarproject.briar.android.contact.add.nearby.AddContactState.KeyAgre import org.briarproject.briar.android.contact.add.nearby.AddContactState.KeyAgreementWaiting; import org.briarproject.briar.android.contact.add.nearby.AddContactState.QrCodeScanned; import org.briarproject.briar.android.fragment.BaseFragment; +import org.briarproject.briar.android.qrcode.CameraException; +import org.briarproject.briar.android.qrcode.CameraView; import org.briarproject.briar.android.view.QrCodeView; import java.util.logging.Logger; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactViewModel.java index 0cf7c82c5..4eca97b9a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/AddNearbyContactViewModel.java @@ -53,7 +53,8 @@ import org.briarproject.briar.android.contact.add.nearby.AddContactState.Contact import org.briarproject.briar.android.contact.add.nearby.AddContactState.KeyAgreementListening; import org.briarproject.briar.android.contact.add.nearby.AddContactState.KeyAgreementStarted; import org.briarproject.briar.android.contact.add.nearby.AddContactState.KeyAgreementWaiting; -import org.briarproject.briar.android.util.QrCodeUtils; +import org.briarproject.briar.android.qrcode.QrCodeDecoder; +import org.briarproject.briar.android.qrcode.QrCodeUtils; import org.briarproject.briar.android.viewmodel.LiveEvent; import org.briarproject.briar.android.viewmodel.MutableLiveEvent; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotManager.java b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotManager.java index 78bb108a6..91a08b135 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotManager.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotManager.java @@ -24,7 +24,7 @@ import org.briarproject.bramble.api.settings.SettingsManager; import org.briarproject.bramble.api.system.AndroidExecutor; import org.briarproject.briar.R; import org.briarproject.briar.android.hotspot.HotspotState.NetworkConfig; -import org.briarproject.briar.android.util.QrCodeUtils; +import org.briarproject.briar.android.qrcode.QrCodeUtils; import java.security.SecureRandom; import java.util.concurrent.Executor; @@ -52,7 +52,7 @@ import static java.util.Objects.requireNonNull; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static java.util.logging.Logger.getLogger; -import static org.briarproject.briar.android.util.QrCodeUtils.HOTSPOT_QRCODE_FACTOR; +import static org.briarproject.briar.android.qrcode.QrCodeUtils.HOTSPOT_QRCODE_FACTOR; import static org.briarproject.briar.android.util.UiUtils.handleException; @MethodsNotNullByDefault diff --git a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/WebServerManager.java b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/WebServerManager.java index b26b19340..e212ebbaf 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/WebServerManager.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/WebServerManager.java @@ -8,7 +8,7 @@ import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.android.hotspot.HotspotState.WebsiteConfig; -import org.briarproject.briar.android.util.QrCodeUtils; +import org.briarproject.briar.android.qrcode.QrCodeUtils; import java.io.IOException; import java.net.InetAddress; @@ -27,7 +27,7 @@ import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.NetworkUtils.getNetworkInterfaces; import static org.briarproject.briar.android.hotspot.WebServer.PORT; -import static org.briarproject.briar.android.util.QrCodeUtils.HOTSPOT_QRCODE_FACTOR; +import static org.briarproject.briar.android.qrcode.QrCodeUtils.HOTSPOT_QRCODE_FACTOR; @MethodsNotNullByDefault @ParametersNotNullByDefault diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/CameraException.java b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/CameraException.java similarity index 58% rename from briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/CameraException.java rename to briar-android/src/main/java/org/briarproject/briar/android/qrcode/CameraException.java index 04f7a0612..09c636d38 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/CameraException.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/CameraException.java @@ -1,8 +1,8 @@ -package org.briarproject.briar.android.contact.add.nearby; +package org.briarproject.briar.android.qrcode; import java.io.IOException; -class CameraException extends IOException { +public class CameraException extends IOException { CameraException(String message) { super(message); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/CameraView.java b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/CameraView.java similarity index 99% rename from briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/CameraView.java rename to briar-android/src/main/java/org/briarproject/briar/android/qrcode/CameraView.java index 7a5720459..1540e7685 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/CameraView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/CameraView.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.contact.add.nearby; +package org.briarproject.briar.android.qrcode; import android.content.Context; import android.hardware.Camera; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/PreviewConsumer.java b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/PreviewConsumer.java similarity index 73% rename from briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/PreviewConsumer.java rename to briar-android/src/main/java/org/briarproject/briar/android/qrcode/PreviewConsumer.java index f94043255..3eb8832bc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/PreviewConsumer.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/PreviewConsumer.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.contact.add.nearby; +package org.briarproject.briar.android.qrcode; import android.hardware.Camera; @@ -7,7 +7,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import androidx.annotation.UiThread; @NotNullByDefault -interface PreviewConsumer { +public interface PreviewConsumer { @UiThread void start(Camera camera, int cameraIndex); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/QrCodeDecoder.java b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/QrCodeDecoder.java similarity index 95% rename from briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/QrCodeDecoder.java rename to briar-android/src/main/java/org/briarproject/briar/android/qrcode/QrCodeDecoder.java index bbb9dc875..b3c5de4ee 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/nearby/QrCodeDecoder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/QrCodeDecoder.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.contact.add.nearby; +package org.briarproject.briar.android.qrcode; import android.hardware.Camera; import android.hardware.Camera.CameraInfo; @@ -32,7 +32,7 @@ import static java.util.logging.Logger.getLogger; @MethodsNotNullByDefault @ParametersNotNullByDefault -class QrCodeDecoder implements PreviewConsumer, PreviewCallback { +public class QrCodeDecoder implements PreviewConsumer, PreviewCallback { private static final Logger LOG = getLogger(QrCodeDecoder.class.getName()); @@ -44,7 +44,7 @@ class QrCodeDecoder implements PreviewConsumer, PreviewCallback { private Camera camera = null; private int cameraIndex = 0; - QrCodeDecoder(AndroidExecutor androidExecutor, + public QrCodeDecoder(AndroidExecutor androidExecutor, @IoExecutor Executor ioExecutor, ResultCallback callback) { this.androidExecutor = androidExecutor; this.ioExecutor = ioExecutor; @@ -127,7 +127,7 @@ class QrCodeDecoder implements PreviewConsumer, PreviewCallback { } @NotNullByDefault - interface ResultCallback { + public interface ResultCallback { @IoExecutor void onQrCodeDecoded(Result result); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/QrCodeUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/QrCodeUtils.java similarity index 97% rename from briar-android/src/main/java/org/briarproject/briar/android/util/QrCodeUtils.java rename to briar-android/src/main/java/org/briarproject/briar/android/qrcode/QrCodeUtils.java index 54884a500..d7f30e0f3 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/util/QrCodeUtils.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/qrcode/QrCodeUtils.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.util; +package org.briarproject.briar.android.qrcode; import android.graphics.Bitmap; import android.util.DisplayMetrics; @@ -23,11 +23,10 @@ import static org.briarproject.bramble.util.LogUtils.logException; @NotNullByDefault public class QrCodeUtils { + public static final double HOTSPOT_QRCODE_FACTOR = 0.35; private static final Logger LOG = getLogger(QrCodeUtils.class.getName()); - public static final double HOTSPOT_QRCODE_FACTOR = 0.35; - @Nullable public static Bitmap createQrCode(DisplayMetrics dm, String input) { return createQrCode(Math.min(dm.widthPixels, dm.heightPixels), input); diff --git a/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml b/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml index 6eb3d992e..33728c9f5 100644 --- a/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml +++ b/briar-android/src/main/res/layout/fragment_keyagreement_qr.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent" android:keepScreenOn="true"> -