Skip to content
Snippets Groups Projects
Commit d63d1532 authored by akwizgran's avatar akwizgran
Browse files

Merge branch '814-enable-QrScanner-after-QrCode-was-created' into 'master'


Ignore QR code results until local QR code is created

* Make scanning only possible after we are "ready" (= our QrCode was created and set).

Signed-off-by: default avatargoapunk <noobie@goapunks.net>

Closes #814

See merge request !454
parents cc5c0002 7666b210
No related branches found
No related tags found
No related merge requests found
...@@ -86,6 +86,7 @@ public class ShowQrCodeFragment extends BaseEventFragment ...@@ -86,6 +86,7 @@ public class ShowQrCodeFragment extends BaseEventFragment
private BluetoothStateReceiver receiver; private BluetoothStateReceiver receiver;
private boolean gotRemotePayload, waitingForBluetooth; private boolean gotRemotePayload, waitingForBluetooth;
private volatile boolean gotLocalPayload;
private KeyAgreementTask task; private KeyAgreementTask task;
public static ShowQrCodeFragment newInstance() { public static ShowQrCodeFragment newInstance() {
...@@ -202,6 +203,7 @@ public class ShowQrCodeFragment extends BaseEventFragment ...@@ -202,6 +203,7 @@ public class ShowQrCodeFragment extends BaseEventFragment
statusView.setVisibility(INVISIBLE); statusView.setVisibility(INVISIBLE);
cameraView.setVisibility(VISIBLE); cameraView.setVisibility(VISIBLE);
gotRemotePayload = false; gotRemotePayload = false;
gotLocalPayload = false;
startListening(); startListening();
} }
...@@ -227,6 +229,7 @@ public class ShowQrCodeFragment extends BaseEventFragment ...@@ -227,6 +229,7 @@ public class ShowQrCodeFragment extends BaseEventFragment
public void eventOccurred(Event e) { public void eventOccurred(Event e) {
if (e instanceof KeyAgreementListeningEvent) { if (e instanceof KeyAgreementListeningEvent) {
KeyAgreementListeningEvent event = (KeyAgreementListeningEvent) e; KeyAgreementListeningEvent event = (KeyAgreementListeningEvent) e;
gotLocalPayload = true;
setQrCode(event.getLocalPayload()); setQrCode(event.getLocalPayload());
} else if (e instanceof KeyAgreementFailedEvent) { } else if (e instanceof KeyAgreementFailedEvent) {
keyAgreementFailed(); keyAgreementFailed();
...@@ -341,6 +344,10 @@ public class ShowQrCodeFragment extends BaseEventFragment ...@@ -341,6 +344,10 @@ public class ShowQrCodeFragment extends BaseEventFragment
@Override @Override
public void run() { public void run() {
LOG.info("Got result from decoder"); LOG.info("Got result from decoder");
// Ignore results until the KeyAgreementTask is ready
if (!gotLocalPayload) {
return;
}
if (!gotRemotePayload) { if (!gotRemotePayload) {
gotRemotePayload = true; gotRemotePayload = true;
qrCodeScanned(result.getText()); qrCodeScanned(result.getText());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment