From e0d340952d5658e668dbb675569f9877967cfbda Mon Sep 17 00:00:00 2001 From: Andre Ippisch Date: Tue, 7 Jan 2020 13:00:51 +0100 Subject: Camera permission behaviour (#505) * Remove unused else * Remove SDK version check since we are on minimum 24 already * Add intent key about missing camera permission * Add boolean value to show error dialog - always true for the beginning to keep current behaviour * Make displaying an error dialog for missing camera permissions optional * Add intent extras for Intent initialisation * Initialise camera permission dialog visibility from Intent * Add original intent to IntentResult * Use original intent in IntentResult * Make onRequestPermissionResult public again * Forward onRequestPermissionResult * React on Intent information - for example on the missing camera permission * Revert "Remove SDK version check since we are on minimum 24 already" This reverts commit 8f79f56a * Add missing imports --- sample/src/main/java/example/zxing/MainActivity.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'sample/src/main/java/example/zxing/MainActivity.java') diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java index 9c879278..99a3b620 100644 --- a/sample/src/main/java/example/zxing/MainActivity.java +++ b/sample/src/main/java/example/zxing/MainActivity.java @@ -128,8 +128,14 @@ public class MainActivity extends AppCompatActivity { IntentResult result = IntentIntegrator.parseActivityResult(resultCode, data); if(result.getContents() == null) { - Log.d("MainActivity", "Cancelled scan"); - Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); + Intent originalIntent = result.getOriginalIntent(); + if (originalIntent == null) { + Log.d("MainActivity", "Cancelled scan"); + Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); + } else if(originalIntent.hasExtra(Intents.Scan.MISSING_CAMERA_PERMISSION)) { + Log.d("MainActivity", "Cancelled scan due to missing camera permission"); + Toast.makeText(this, "Cancelled due to missing camera permission", Toast.LENGTH_LONG).show(); + } } else { Log.d("MainActivity", "Scanned"); Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show(); -- cgit v1.2.3