From f82eb2d210f1915c29663fb1e81ddd2e02965fd3 Mon Sep 17 00:00:00 2001 From: Jacques Foucry Date: Mon, 31 Jan 2022 17:27:48 +0100 Subject: [PATCH] Add more cancel case in scan return --- .../foucry/pilldroid/DrugListActivity.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/foucry/pilldroid/DrugListActivity.java b/app/src/main/java/net/foucry/pilldroid/DrugListActivity.java index ae759b4..2922e35 100644 --- a/app/src/main/java/net/foucry/pilldroid/DrugListActivity.java +++ b/app/src/main/java/net/foucry/pilldroid/DrugListActivity.java @@ -219,9 +219,22 @@ public class DrugListActivity extends AppCompatActivity { private final ActivityResultLauncher barcodeLauncher = registerForActivityResult(new ScanContract(), result -> { if(result.getContents() == null) { - Toast.makeText(DrugListActivity.this, "Cancelled", Toast.LENGTH_LONG).show(); + Intent originalIntent = result.getOriginalIntent(); + if (originalIntent == null { + Log.d(TAG, "Cancelled Scan"); + Toast.makeText(DrugListActivity.this, "Cancelled", Toast.LENGTH_LONG).show(); + } else if (originalIntent.hasExtra(Intents.Scan.MISSING_CAMERA_PERMISSION)) { + Log.d(TAG, "Cancelled scan due missing camera permission"); + Toast.makeText(DrugListaActivity.this, "Cancelled due missing camera persmission", + Toast.LENGTH_LONG.show()); + } else if (originalIntent.hasExtra(Intents.Scan.TIMEOUT)) { + Log.d(TAG, "Cancelled due timeout"); + Toast,makeText(DrugListActivity.this, "Cancelled due timeout", Toast.LENGTH_LONG.show()); + } } else { - Toast.makeText(DrugListActivity.this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show(); + Log.d(TAG, "Scanned"); + Toast.makeText(DrugListActivity.this, "Scanned: " + result.getContents(), + Toast.LENGTH_LONG).show(); } }); @@ -230,10 +243,10 @@ public class DrugListActivity extends AppCompatActivity { ScanOptions options = new ScanOptions(); options.setDesiredBarcodeFormats(ScanOptions.DATA_MATRIX, ScanOptions.CODE_39, ScanOptions.CODE_128, ScanOptions.CODE_128); - //options.setPrompt("Scan a barcode"); options.setCameraId(0); // Use a specific camera of the device options.setBeepEnabled(true); options.setBarcodeImageEnabled(true); + options.setTimeout(60); options.setCaptureActivity(CustomScannerActivity.class); options.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.MIXED_SCAN); barcodeLauncher.launch(options); @@ -547,4 +560,4 @@ public class DrugListActivity extends AppCompatActivity { } } } -} \ No newline at end of file +}