summaryrefslogtreecommitdiff
path: root/sample/src/main/java/example
diff options
context:
space:
mode:
authorAndre Ippisch <andre.ippisch@uni-duesseldorf.de>2020-01-07 15:00:51 +0300
committerRalf Kistner <ralf@journeyapps.com>2020-01-07 15:00:51 +0300
commite0d340952d5658e668dbb675569f9877967cfbda (patch)
treed194bcb75304d718a0bf597e5de56ac4a63865de /sample/src/main/java/example
parent9b924e6875e2ada9a19a8b0b23b6e300a838dcc6 (diff)
downloadzxing-android-embedded-e0d340952d5658e668dbb675569f9877967cfbda.tar.xz
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
Diffstat (limited to 'sample/src/main/java/example')
-rw-r--r--sample/src/main/java/example/zxing/CustomScannerActivity.java8
-rw-r--r--sample/src/main/java/example/zxing/MainActivity.java10
2 files changed, 16 insertions, 2 deletions
diff --git a/sample/src/main/java/example/zxing/CustomScannerActivity.java b/sample/src/main/java/example/zxing/CustomScannerActivity.java
index 70f2df9b..ef41f1c5 100644
--- a/sample/src/main/java/example/zxing/CustomScannerActivity.java
+++ b/sample/src/main/java/example/zxing/CustomScannerActivity.java
@@ -8,6 +8,8 @@ import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
+import androidx.annotation.NonNull;
+
import com.journeyapps.barcodescanner.CaptureManager;
import com.journeyapps.barcodescanner.DecoratedBarcodeView;
import com.journeyapps.barcodescanner.ViewfinderView;
@@ -45,6 +47,7 @@ public class CustomScannerActivity extends Activity implements
capture = new CaptureManager(this, barcodeScannerView);
capture.initializeFromIntent(getIntent(), savedInstanceState);
+ capture.setShowMissingCameraPermissionDialog(false);
capture.decode();
changeMaskColor(null);
@@ -116,4 +119,9 @@ public class CustomScannerActivity extends Activity implements
public void onTorchOff() {
switchFlashlightButton.setText(R.string.turn_on_flashlight);
}
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ capture.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ }
}
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();