Browse Source

wpadebug: Add activity to select method for QR Code scanning

Add QrCodeReadActivity that makes a decision to select between InputUri
and QrCodeScannerActivity depending on the availability of the camera in
the device.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Anurag Das 7 years ago
parent
commit
be97da671c
2 changed files with 45 additions and 0 deletions
  1. 5 0
      wpadebug/AndroidManifest.xml
  2. 40 0
      wpadebug/src/w1/fi/wpadebug/QrCodeReadActivity.java

+ 5 - 0
wpadebug/AndroidManifest.xml

@@ -59,6 +59,11 @@
 		  android:label="Input URI"
 		  android:parentActivityName="w1.fi.wpadebug.MainActivity">
 	</activity>
+	<activity
+		  android:name="w1.fi.wpadebug.QrCodeReadActivity"
+		  android:label="Start Scan"
+		 android:parentActivityName="w1.fi.wpadebug.MainActivity">
+	</activity>
 	<activity android:name="w1.fi.wpadebug.WpaWebViewActivity"
 		  android:label="WebView"
 		  android:launchMode="singleTop"

+ 40 - 0
wpadebug/src/w1/fi/wpadebug/QrCodeReadActivity.java

@@ -0,0 +1,40 @@
+/*
+ * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
+ * Copyright (c) 2018, The Linux Foundation
+ *
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
+ */
+
+package w1.fi.wpadebug;
+
+import android.app.Activity;
+import android.util.Log;
+import android.content.Intent;
+import android.hardware.Camera;
+import android.os.Bundle;
+
+public class QrCodeReadActivity extends Activity {
+
+    private static final String TAG = "wpadebug";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        int numberOfCameras = Camera.getNumberOfCameras();
+
+        if (numberOfCameras > 0) {
+            Log.e(TAG, "Number of cameras found: " + numberOfCameras);
+            Intent QrCodeScanIntent = new Intent(QrCodeReadActivity.this,
+						 QrCodeScannerActivity.class);
+            QrCodeReadActivity.this.startActivity(QrCodeScanIntent);
+            finish();
+        } else {
+            Log.e(TAG, "No cameras found, input the QR Code");
+            Intent QrCodeInputIntent = new Intent(QrCodeReadActivity.this,
+						  InputUri.class);
+            QrCodeReadActivity.this.startActivity(QrCodeInputIntent);
+            finish();
+        }
+    }
+}