]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wpadebug: A dialog activity to input the URI from QR Code Scanner
authorAnurag Das <anurdas@codeaurora.org>
Wed, 21 Feb 2018 12:35:33 +0000 (18:05 +0530)
committerJouni Malinen <j@w1.fi>
Thu, 22 Feb 2018 12:42:05 +0000 (14:42 +0200)
This should help to read the URI from the QR Code Scanner's (USB HID
devices instead of USB video device) that decodes the QR Code.
This dialog box provisions the mechanism to enter the decoded
URI code from such hardware devices.

This dialog can be used with:
am start -n w1.fi.wpadebug/w1.fi.wpadebug.InputUri

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
wpadebug/AndroidManifest.xml
wpadebug/res/layout/input_uri.xml [new file with mode: 0644]
wpadebug/src/w1/fi/wpadebug/InputUri.java [new file with mode: 0644]

index f72a65369d9f53191b025527346db7c8ce296f62..6c7157af5022d0837365f32325dcc9d48d7aa8f5 100644 (file)
                  android:label="QR Code Display"
                  android:parentActivityName="w1.fi.wpadebug.MainActivity">
        </activity>
+       <activity
+                 android:name="w1.fi.wpadebug.InputUri"
+                 android:label="Input URI"
+                 android:parentActivityName="w1.fi.wpadebug.MainActivity">
+       </activity>
        <activity android:name="w1.fi.wpadebug.WpaWebViewActivity"
                  android:label="WebView"
                  android:launchMode="singleTop"
diff --git a/wpadebug/res/layout/input_uri.xml b/wpadebug/res/layout/input_uri.xml
new file mode 100644 (file)
index 0000000..ab391fb
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="w1.fi.wpadebug.InputUri">
+       <LinearLayout
+           android:layout_width="match_parent"
+           android:gravity="center"
+           android:orientation="vertical"
+           android:layout_margin="30dp"
+           android:layout_height="wrap_content">
+
+               <EditText
+                   android:id="@+id/edit_uri"
+                   android:layout_width="match_parent"
+                   android:layout_height="130dp" />
+
+               <Button
+                   android:id="@+id/submit_uri"
+                   android:layout_width="wrap_content"
+                   android:text="Submit"
+                   android:layout_height="wrap_content" />
+       </LinearLayout>
+</LinearLayout>
diff --git a/wpadebug/src/w1/fi/wpadebug/InputUri.java b/wpadebug/src/w1/fi/wpadebug/InputUri.java
new file mode 100644 (file)
index 0000000..a7c5131
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * 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.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+
+public class InputUri extends Activity {
+
+    private EditText mEditText;
+    private Button mSubmitButton;
+    private String mUriText;
+    private static final String FILE_NAME = "wpadebug_qrdata.txt";
+    private static final String TAG = "wpadebug";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.input_uri);
+        mEditText = (EditText)findViewById(R.id.edit_uri);
+        mSubmitButton = (Button)findViewById(R.id.submit_uri);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mSubmitButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mUriText = mEditText.getText().toString();
+                new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        writeToFile(mUriText);
+
+                        InputUri.this.runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                finish();
+                            }
+                        });
+                    }
+                }).start();
+
+            }
+
+        });
+    }
+
+    public void writeToFile(String data)
+    {
+        File file = new File("/sdcard", FILE_NAME);
+        try
+        {
+            file.createNewFile();
+            FileOutputStream fOut = new FileOutputStream(file);
+            OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
+            myOutWriter.append(mUriText);
+            myOutWriter.close();
+
+            fOut.flush();
+            fOut.close();
+        }
+        catch (IOException e)
+        {
+            Log.e(TAG, "File write failed: " + e.toString());
+        }
+    }
+}