Refactor qrcode and its camera classes to separate package

This commit is contained in:
Daniel Lublin
2021-11-03 09:33:26 +01:00
parent 8a4fe7ca49
commit 6d1a0a5792
10 changed files with 20 additions and 18 deletions

View File

@@ -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.KeyAgreementWaiting;
import org.briarproject.briar.android.contact.add.nearby.AddContactState.QrCodeScanned; import org.briarproject.briar.android.contact.add.nearby.AddContactState.QrCodeScanned;
import org.briarproject.briar.android.fragment.BaseFragment; 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 org.briarproject.briar.android.view.QrCodeView;
import java.util.logging.Logger; import java.util.logging.Logger;

View File

@@ -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.KeyAgreementListening;
import org.briarproject.briar.android.contact.add.nearby.AddContactState.KeyAgreementStarted; 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.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.LiveEvent;
import org.briarproject.briar.android.viewmodel.MutableLiveEvent; import org.briarproject.briar.android.viewmodel.MutableLiveEvent;

View File

@@ -24,7 +24,7 @@ import org.briarproject.bramble.api.settings.SettingsManager;
import org.briarproject.bramble.api.system.AndroidExecutor; import org.briarproject.bramble.api.system.AndroidExecutor;
import org.briarproject.briar.R; import org.briarproject.briar.R;
import org.briarproject.briar.android.hotspot.HotspotState.NetworkConfig; 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.security.SecureRandom;
import java.util.concurrent.Executor; 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.INFO;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
import static java.util.logging.Logger.getLogger; 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; import static org.briarproject.briar.android.util.UiUtils.handleException;
@MethodsNotNullByDefault @MethodsNotNullByDefault

View File

@@ -8,7 +8,7 @@ import org.briarproject.bramble.api.lifecycle.IoExecutor;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
import org.briarproject.briar.android.hotspot.HotspotState.WebsiteConfig; 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.io.IOException;
import java.net.InetAddress; 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.LogUtils.logException;
import static org.briarproject.bramble.util.NetworkUtils.getNetworkInterfaces; import static org.briarproject.bramble.util.NetworkUtils.getNetworkInterfaces;
import static org.briarproject.briar.android.hotspot.WebServer.PORT; 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 @MethodsNotNullByDefault
@ParametersNotNullByDefault @ParametersNotNullByDefault

View File

@@ -1,8 +1,8 @@
package org.briarproject.briar.android.contact.add.nearby; package org.briarproject.briar.android.qrcode;
import java.io.IOException; import java.io.IOException;
class CameraException extends IOException { public class CameraException extends IOException {
CameraException(String message) { CameraException(String message) {
super(message); super(message);

View File

@@ -1,4 +1,4 @@
package org.briarproject.briar.android.contact.add.nearby; package org.briarproject.briar.android.qrcode;
import android.content.Context; import android.content.Context;
import android.hardware.Camera; import android.hardware.Camera;

View File

@@ -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;
@@ -7,7 +7,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import androidx.annotation.UiThread; import androidx.annotation.UiThread;
@NotNullByDefault @NotNullByDefault
interface PreviewConsumer { public interface PreviewConsumer {
@UiThread @UiThread
void start(Camera camera, int cameraIndex); void start(Camera camera, int cameraIndex);

View File

@@ -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;
import android.hardware.Camera.CameraInfo; import android.hardware.Camera.CameraInfo;
@@ -32,7 +32,7 @@ import static java.util.logging.Logger.getLogger;
@MethodsNotNullByDefault @MethodsNotNullByDefault
@ParametersNotNullByDefault @ParametersNotNullByDefault
class QrCodeDecoder implements PreviewConsumer, PreviewCallback { public class QrCodeDecoder implements PreviewConsumer, PreviewCallback {
private static final Logger LOG = getLogger(QrCodeDecoder.class.getName()); private static final Logger LOG = getLogger(QrCodeDecoder.class.getName());
@@ -44,7 +44,7 @@ class QrCodeDecoder implements PreviewConsumer, PreviewCallback {
private Camera camera = null; private Camera camera = null;
private int cameraIndex = 0; private int cameraIndex = 0;
QrCodeDecoder(AndroidExecutor androidExecutor, public QrCodeDecoder(AndroidExecutor androidExecutor,
@IoExecutor Executor ioExecutor, ResultCallback callback) { @IoExecutor Executor ioExecutor, ResultCallback callback) {
this.androidExecutor = androidExecutor; this.androidExecutor = androidExecutor;
this.ioExecutor = ioExecutor; this.ioExecutor = ioExecutor;
@@ -127,7 +127,7 @@ class QrCodeDecoder implements PreviewConsumer, PreviewCallback {
} }
@NotNullByDefault @NotNullByDefault
interface ResultCallback { public interface ResultCallback {
@IoExecutor @IoExecutor
void onQrCodeDecoded(Result result); void onQrCodeDecoded(Result result);
} }

View File

@@ -1,4 +1,4 @@
package org.briarproject.briar.android.util; package org.briarproject.briar.android.qrcode;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
@@ -23,11 +23,10 @@ import static org.briarproject.bramble.util.LogUtils.logException;
@NotNullByDefault @NotNullByDefault
public class QrCodeUtils { public class QrCodeUtils {
public static final double HOTSPOT_QRCODE_FACTOR = 0.35;
private static final Logger LOG = getLogger(QrCodeUtils.class.getName()); private static final Logger LOG = getLogger(QrCodeUtils.class.getName());
public static final double HOTSPOT_QRCODE_FACTOR = 0.35;
@Nullable @Nullable
public static Bitmap createQrCode(DisplayMetrics dm, String input) { public static Bitmap createQrCode(DisplayMetrics dm, String input) {
return createQrCode(Math.min(dm.widthPixels, dm.heightPixels), input); return createQrCode(Math.min(dm.widthPixels, dm.heightPixels), input);

View File

@@ -5,7 +5,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:keepScreenOn="true"> android:keepScreenOn="true">
<org.briarproject.briar.android.contact.add.nearby.CameraView <org.briarproject.briar.android.qrcode.CameraView
android:id="@+id/camera_view" android:id="@+id/camera_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />