summaryrefslogtreecommitdiff
path: root/app/src/normal
diff options
context:
space:
mode:
authorNorbel Ambanumben <norbel@ambanumben.net>2025-03-23 11:03:51 +0100
committerNorbel Ambanumben <norbel@ambanumben.net>2025-03-23 11:03:51 +0100
commite93270ab0a478d165d33e8625ada465620aebbf1 (patch)
treeebf45113cc944e40f6416231e9d39e69f514c469 /app/src/normal
parente8f9623bcdd5ea1414ce2b513c601d4993284e6e (diff)
chore: remove camera permission for custom branded versions
Diffstat (limited to 'app/src/normal')
-rw-r--r--app/src/normal/AndroidManifest.xml6
-rw-r--r--app/src/normal/java/se/leap/bitmaskclient/providersetup/helpers/QrScannerHelper.java39
2 files changed, 45 insertions, 0 deletions
diff --git a/app/src/normal/AndroidManifest.xml b/app/src/normal/AndroidManifest.xml
new file mode 100644
index 00000000..3987d95d
--- /dev/null
+++ b/app/src/normal/AndroidManifest.xml
@@ -0,0 +1,6 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+ <uses-feature
+ android:name="android.hardware.camera"
+ android:required="false" />
+ <uses-permission android:name="android.permission.CAMERA"/>
+</manifest> \ No newline at end of file
diff --git a/app/src/normal/java/se/leap/bitmaskclient/providersetup/helpers/QrScannerHelper.java b/app/src/normal/java/se/leap/bitmaskclient/providersetup/helpers/QrScannerHelper.java
new file mode 100644
index 00000000..88046360
--- /dev/null
+++ b/app/src/normal/java/se/leap/bitmaskclient/providersetup/helpers/QrScannerHelper.java
@@ -0,0 +1,39 @@
+package se.leap.bitmaskclient.providersetup.helpers;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.fragment.app.Fragment;
+
+import com.journeyapps.barcodescanner.ScanContract;
+import com.journeyapps.barcodescanner.ScanOptions;
+
+import se.leap.bitmaskclient.base.models.Introducer;
+import se.leap.bitmaskclient.providersetup.fragments.helpers.AbstractQrScannerHelper;
+
+public class QrScannerHelper extends AbstractQrScannerHelper {
+
+ private final ActivityResultLauncher<ScanOptions> scannerActivityResultLauncher;
+
+ public QrScannerHelper(Fragment fragment, ScanResultCallback callback) {
+ super(fragment, callback);
+ this.scannerActivityResultLauncher = fragment.registerForActivityResult(new ScanContract(), result -> {
+ if(result.getContents() != null) {
+ try {
+ Introducer introducer = Introducer.fromUrl(result.getContents());
+ callback.onScanResult(introducer);
+ } catch (Exception e) {
+ e.printStackTrace();
+ //binding.editCustomProvider.setText(result.getContents());
+ }
+ }
+ });
+ }
+
+ @Override
+ public void startScan() {
+ ScanOptions options = new ScanOptions();
+ options.setBeepEnabled(false);
+ options.setBarcodeImageEnabled(false);
+ options.setOrientationLocked(false);
+ scannerActivityResultLauncher.launch(options);
+ }
+}