aboutsummaryrefslogtreecommitdiff
path: root/wpadebug
diff options
context:
space:
mode:
Diffstat (limited to 'wpadebug')
-rw-r--r--wpadebug/.gitignore4
-rw-r--r--wpadebug/AndroidManifest.xml86
-rw-r--r--wpadebug/README78
-rw-r--r--wpadebug/build.xml17
-rw-r--r--wpadebug/project.properties2
-rw-r--r--wpadebug/res/layout/cred_edit.xml117
-rw-r--r--wpadebug/res/layout/input_uri.xml26
-rw-r--r--wpadebug/res/layout/main.xml160
-rw-r--r--wpadebug/res/layout/qrcode.xml13
-rw-r--r--wpadebug/res/raw/shell_commands.txt2
-rw-r--r--wpadebug/res/raw/wpa_commands.txt9
-rw-r--r--wpadebug/src/w1/fi/wpadebug/CommandListActivity.java130
-rw-r--r--wpadebug/src/w1/fi/wpadebug/DisplayMessageActivity.java49
-rw-r--r--wpadebug/src/w1/fi/wpadebug/InputUri.java108
-rw-r--r--wpadebug/src/w1/fi/wpadebug/MainActivity.java209
-rw-r--r--wpadebug/src/w1/fi/wpadebug/QrCodeDisplayActivity.java109
-rw-r--r--wpadebug/src/w1/fi/wpadebug/QrCodeReadActivity.java40
-rw-r--r--wpadebug/src/w1/fi/wpadebug/QrCodeScannerActivity.java82
-rw-r--r--wpadebug/src/w1/fi/wpadebug/WifiReceiver.java95
-rw-r--r--wpadebug/src/w1/fi/wpadebug/WpaCommandListActivity.java112
-rw-r--r--wpadebug/src/w1/fi/wpadebug/WpaCredActivity.java263
-rw-r--r--wpadebug/src/w1/fi/wpadebug/WpaCredEditActivity.java55
-rw-r--r--wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java131
-rw-r--r--wpadebug/src/w1/fi/wpadebug/WpaWebViewActivity.java146
24 files changed, 0 insertions, 2043 deletions
diff --git a/wpadebug/.gitignore b/wpadebug/.gitignore
deleted file mode 100644
index baf2c7838a0d..000000000000
--- a/wpadebug/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-gen
-local.properties
-proguard-project.txt
diff --git a/wpadebug/AndroidManifest.xml b/wpadebug/AndroidManifest.xml
deleted file mode 100644
index 0d8dec396dd6..000000000000
--- a/wpadebug/AndroidManifest.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="w1.fi.wpadebug"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" />
- <uses-permission android:name="android.permission.NFC" />
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <application android:label="wpadebug" android:usesCleartextTraffic="true">
- <activity android:name="w1.fi.wpadebug.MainActivity"
- android:label="wpadebug">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <activity android:name="w1.fi.wpadebug.DisplayMessageActivity"
- android:label="Operation result"
- android:parentActivityName="w1.fi.wpadebug.MainActivity">
- </activity>
- <activity android:name="w1.fi.wpadebug.WpaNfcActivity"
- android:label="wpa_supplicant NFC operation"
- android:parentActivityName="w1.fi.wpadebug.MainActivity">
- <intent-filter>
- <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
- <category android:name="android.intent.category.DEFAULT"/>
- <data android:mimeType="application/vnd.wfa.wsc" />
- </intent-filter>
- </activity>
- <activity android:name="w1.fi.wpadebug.CommandListActivity"
- android:label="Command list"
- android:parentActivityName="w1.fi.wpadebug.MainActivity">
- </activity>
- <activity android:name="w1.fi.wpadebug.WpaCommandListActivity"
- android:label="WPA command list"
- android:parentActivityName="w1.fi.wpadebug.MainActivity">
- </activity>
- <activity android:name="w1.fi.wpadebug.WpaCredActivity"
- android:label="Credentials"
- android:parentActivityName="w1.fi.wpadebug.MainActivity">
- </activity>
- <activity android:name="w1.fi.wpadebug.WpaCredEditActivity"
- android:label="Credential"
- android:parentActivityName="w1.fi.wpadebug.WpaCredActivity">
- </activity>
- <activity android:name="w1.fi.wpadebug.QrCodeScannerActivity"
- android:label="QR Code Reader"
- android:parentActivityName="w1.fi.wpadebug.MainActivity">
- </activity>
- <activity android:name="w1.fi.wpadebug.QrCodeDisplayActivity"
- 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.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"
- android:noHistory="true">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- </intent-filter>
- </activity>
- <receiver android:name="w1.fi.wpadebug.WifiReceiver">
- <intent-filter>
- <action android:name="android.net.wifi.STATE_CHANGE" />
- <action android:name="android.net.wifi.RSSI_CHANGED" />
- <action android:name="android.net.wifi.SCAN_RESULTS" />
- <action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
- <action android:name="android.net.wifi.supplicant.STATE_CHANGE" />
- <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
- </intent-filter>
- </receiver>
- </application>
-</manifest>
diff --git a/wpadebug/README b/wpadebug/README
deleted file mode 100644
index f66f0c212dc9..000000000000
--- a/wpadebug/README
+++ /dev/null
@@ -1,78 +0,0 @@
-wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
-Copyright (c) 2013, Jouni Malinen <j@w1.fi> and contributors
-All Rights Reserved.
-
-This program is licensed under the BSD license (the one with
-advertisement clause removed). See the top level README for detailed
-license text.
-
-If you are submitting changes to the project, please see CONTRIBUTIONS
-file for more instructions.
-
-
-NOTE! This Android app is for debugging and testing purposes only. It is
-not supposed to be installed on a production use device and doing so may
-result in complete loss of security protections on the device.
-
-
-
-Build
------
-
-- Install Android SDK and build tools
-
-wpadebug depends on zxing core to launch QR code display/scanning.
-To build zxing core:
-
-- mkdir hostap/wpadebug/libs # target for the jar file
-- Install maven tool
-- clone latest zxing code [git clone https://github.com/zxing/zxing.git]
-- cd zxing/core
-- run: mvn install -DskipTests
-- copy target/core-*.*.*-SNAPSHOT.jar to hostap/wpadebug/libs
-
-To build wpadebug application:
-
-- update project target if desired; for example:
- android list targets
- android update project --target 1 --path $PWD
-- run: ant debug
-
-
-Installation (with adb over USB)
-------------
-
-adb install bin/wpadebug-debug.apk
-
-NOTE: Following steps enable any app on the system to get root access!
-This is not suitable for any production use. This is needed for direct
-wpa_supplicant access and some networking operating in general. You can
-still use rest of the wpadebug app without doing this, but those
-functions will not work unless this step part of installation is
-done. It should be obvious that these steps require a rooted device. In
-addition, if you do not understand what the following commands do,
-please do not run them.
-
-adb root
-adb remount
-adb shell cp /system/bin/mksh /system/bin/mksh-su
-adb shell chmod 6755 /system/bin/mksh-su
-
-Optionally, a text file with a set of command can be installed to allow
-arbitrary shell commands to be executed. This text file need to be in
-/data/local/wpadebug.cmds and use title@command format per line. For
-example:
-version@cat /proc/version
-
-Similarly, /data/local/wpadebug.wpacmds can be used to define additional
-wpa_supplicant control interface commands.
-
-
-Uninstallation
---------------
-
-adb root
-adb remount
-adb shell rm /system/bin/mksh-su
-
-adb uninstall w1.fi.wpadebug
diff --git a/wpadebug/build.xml b/wpadebug/build.xml
deleted file mode 100644
index 5301e69bcc7f..000000000000
--- a/wpadebug/build.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="wpadebug" default="help">
- <property file="local.properties" />
- <property file="ant.properties" />
- <property environment="env" />
- <condition property="sdk.dir" value="${env.ANDROID_HOME}">
- <isset property="env.ANDROID_HOME" />
- </condition>
- <loadproperties srcFile="project.properties" />
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
- unless="sdk.dir"
- />
- <import file="custom_rules.xml" optional="true" />
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-</project>
diff --git a/wpadebug/project.properties b/wpadebug/project.properties
deleted file mode 100644
index 36cc0ce32096..000000000000
--- a/wpadebug/project.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Project target.
-target=android-22
diff --git a/wpadebug/res/layout/cred_edit.xml b/wpadebug/res/layout/cred_edit.xml
deleted file mode 100644
index 292b30abbffd..000000000000
--- a/wpadebug/res/layout/cred_edit.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- >
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Username"
- />
- <EditText android:id="@+id/cred_edit_username"
- android:layout_weight="1"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:lines="1"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Realm"
- />
- <EditText android:id="@+id/cred_edit_realm"
- android:layout_weight="1"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:lines="1"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Password"
- />
- <EditText android:id="@+id/cred_edit_password"
- android:layout_weight="1"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:lines="1"
- android:inputType="textPassword"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Domain"
- />
- <EditText android:id="@+id/cred_edit_domain"
- android:layout_weight="1"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:lines="1"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="IMSI"
- />
- <EditText android:id="@+id/cred_edit_imsi"
- android:layout_weight="1"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:lines="1"
- android:hint="Used only with SIM/USIM testing"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Save"
- android:onClick="credSave"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Cancel"
- android:onClick="credCancel"
- />
- </LinearLayout>
-</LinearLayout>
diff --git a/wpadebug/res/layout/input_uri.xml b/wpadebug/res/layout/input_uri.xml
deleted file mode 100644
index ab391fbed72e..000000000000
--- a/wpadebug/res/layout/input_uri.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?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/res/layout/main.xml b/wpadebug/res/layout/main.xml
deleted file mode 100644
index cbdbfb961980..000000000000
--- a/wpadebug/res/layout/main.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Framework commands"
- />
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="WifiManager"
- android:onClick="wifiManagerInfo"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="WifiInfo"
- android:onClick="wifiInfo"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Networks"
- android:onClick="wifiConfiguredNetworks"
- />
- </LinearLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="wpa_supplicant commands"
- />
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="wpa_supplicant commands"
- android:onClick="runWpaCommands"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Credentials"
- android:onClick="runWpaCredentials"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="log:info"
- android:onClick="wpaLogLevelInfo"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="log:debug"
- android:onClick="wpaLogLevelDebug"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="log:excessive"
- android:onClick="wpaLogLevelExcessive"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <EditText android:id="@+id/edit_cmd"
- android:layout_weight="1"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:hint="wpa_cli command"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Run"
- android:onClick="runWpaCliCmd"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Shell commands"
- android:onClick="runCommands"
- />
- </LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="QR Scan"
- android:onClick="runQrScan"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="QR Input"
- android:onClick="runQrInput"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="QR Display"
- android:onClick="runQrDisplay"
- />
- </LinearLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="NFC commands"
- />
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="WPS handover request"
- android:onClick="nfcWpsHandoverRequest"
- />
- </LinearLayout>
-</LinearLayout>
diff --git a/wpadebug/res/layout/qrcode.xml b/wpadebug/res/layout/qrcode.xml
deleted file mode 100644
index 8cf50de374e1..000000000000
--- a/wpadebug/res/layout/qrcode.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center_horizontal">
- <ImageView
- android:id="@+id/qrCode"
- android:layout_width="350dp"
- android:layout_height="350dp"
- android:layout_marginTop="20dp"
- />
-</LinearLayout> \ No newline at end of file
diff --git a/wpadebug/res/raw/shell_commands.txt b/wpadebug/res/raw/shell_commands.txt
deleted file mode 100644
index 9b45d652a065..000000000000
--- a/wpadebug/res/raw/shell_commands.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-id@id
-version@cat /proc/version
diff --git a/wpadebug/res/raw/wpa_commands.txt b/wpadebug/res/raw/wpa_commands.txt
deleted file mode 100644
index 3baa01c8bb5b..000000000000
--- a/wpadebug/res/raw/wpa_commands.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Status@STATUS
-PMKSA cache@PMKSA
-Networks@LIST_NETWORKS
-Interworking connect@INTERWORKING_SELECT auto
-Creds@LIST_CREDS
-Scan results@SCAN_RESULTS
-Flush@FLUSH
-Disconnect@DISCONNECT
-Reassociate@REASSOCIATE
diff --git a/wpadebug/src/w1/fi/wpadebug/CommandListActivity.java b/wpadebug/src/w1/fi/wpadebug/CommandListActivity.java
deleted file mode 100644
index 6d7ad4dd6678..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/CommandListActivity.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-package w1.fi.wpadebug;
-
-import java.util.ArrayList;
-import java.util.Scanner;
-import java.io.FileReader;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.InputStream;
-import java.io.IOException;
-
-import android.app.ListActivity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.view.View;
-import android.widget.ListView;
-import android.widget.ArrayAdapter;
-import android.widget.Toast;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-
-class CmdList
-{
- String title;
- String command;
-
- public CmdList(String _title, String _command)
- {
- title = _title;
- command = _command;
- }
-
- @Override
- public String toString()
- {
- return title;
- }
-}
-
-public class CommandListActivity extends ListActivity
-{
- private static final String TAG = "wpadebug";
- private static final String cmdfile = "/data/local/wpadebug.cmds";
-
- private void read_commands(ArrayList<CmdList> list, Scanner in)
- {
- in.useDelimiter("@");
- while (in.hasNext()) {
- String title = in.next();
- String cmd = in.nextLine().substring(1);
- list.add(new CmdList(title, cmd));
- }
- in.close();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- ArrayList<CmdList> list = new ArrayList<CmdList>();
-
- FileReader in;
- try {
- in = new FileReader(cmdfile);
- read_commands(list, new Scanner(in));
- } catch (IOException e) {
- Toast.makeText(this, "Could not read " + cmdfile,
- Toast.LENGTH_SHORT).show();
- }
-
- InputStream inres;
- try {
- inres = getResources().openRawResource(R.raw.shell_commands);
- read_commands(list, new Scanner(inres));
- } catch (android.content.res.Resources.NotFoundException e) {
- Toast.makeText(this, "Could not read internal resource",
- Toast.LENGTH_SHORT).show();
- }
-
- ArrayAdapter<CmdList> listAdapter;
- listAdapter = new ArrayAdapter<CmdList>(this, android.R.layout.simple_list_item_1, list);
-
- setListAdapter(listAdapter);
- }
-
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id)
- {
- CmdList item = (CmdList) getListAdapter().getItem(position);
- Toast.makeText(this, "Running: " + item.command,
- Toast.LENGTH_SHORT).show();
- String message = run(item.command);
- if (message == null)
- return;
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- intent.putExtra(MainActivity.EXTRA_MESSAGE, message);
- startActivity(intent);
- }
-
- private String run(String cmd)
- {
- try {
- Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/mksh-su", "-c", cmd});
- BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- StringBuffer output = new StringBuffer();
- int read;
- char[] buffer = new char[1024];
- while ((read = reader.read(buffer)) > 0)
- output.append(buffer, 0, read);
- reader.close();
- proc.waitFor();
- return output.toString();
- } catch (IOException e) {
- Toast.makeText(this, "Could not run command",
- Toast.LENGTH_LONG).show();
- return null;
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/DisplayMessageActivity.java b/wpadebug/src/w1/fi/wpadebug/DisplayMessageActivity.java
deleted file mode 100644
index 28ef85f39169..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/DisplayMessageActivity.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * 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.os.Parcelable;
-import android.view.MenuItem;
-import android.content.Intent;
-import android.widget.TextView;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-
-public class DisplayMessageActivity extends Activity
-{
- private static final String TAG = "wpadebug";
-
- String byteArrayHex(byte[] a) {
- StringBuilder sb = new StringBuilder();
- for (byte b: a)
- sb.append(String.format("%02x", b));
- return sb.toString();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- Log.d(TAG, "onCreate");
- super.onCreate(savedInstanceState);
-
- // Get the message from the intent
- Intent intent = getIntent();
- String action = intent.getAction();
- Log.d(TAG, "onCreate: action=" + action);
-
- String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
-
- TextView textView = new TextView(this);
- textView.setText(message);
- textView.setMovementMethod(new ScrollingMovementMethod());
- setContentView(textView);
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/InputUri.java b/wpadebug/src/w1/fi/wpadebug/InputUri.java
deleted file mode 100644
index ea1fa99d2a3e..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/InputUri.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * 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.text.Editable;
-import android.text.TextWatcher;
-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);
-
- mEditText.addTextChangedListener(new TextWatcher() {
- @Override
- public void onTextChanged(CharSequence s, int start, int before,
- int count) {
- mUriText = mEditText.getText().toString();
- if (mUriText.startsWith("DPP:") &&
- mUriText.endsWith(";;")) {
- writeToFile(mUriText);
- finish();
- }
- }
-
- @Override
- public void beforeTextChanged(CharSequence s, int start,
- int count, int after) {
- }
-
- @Override
- public void afterTextChanged(Editable s) {
- }
- });
- }
-
- @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());
- }
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/MainActivity.java b/wpadebug/src/w1/fi/wpadebug/MainActivity.java
deleted file mode 100644
index 4c37b481f1bf..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/MainActivity.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-package w1.fi.wpadebug;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.IOException;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.os.Bundle;
-import android.view.View;
-import android.content.Intent;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.widget.EditText;
-import android.widget.Toast;
-import android.util.Log;
-import android.net.wifi.WifiManager;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiConfiguration;
-import android.nfc.NdefMessage;
-import android.nfc.NdefRecord;
-import android.nfc.NfcAdapter;
-
-public class MainActivity extends Activity
-{
- public final static String EXTRA_MESSAGE = "w1.fi.wpadebug.MESSAGE";
- private static final String TAG = "wpadebug";
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-
- public void runCommands(View view)
- {
- Intent intent = new Intent(this, CommandListActivity.class);
- startActivity(intent);
- }
-
- public void runQrScan(View view)
- {
- Intent intent = new Intent(this, QrCodeScannerActivity.class);
- startActivity(intent);
- }
-
- public void runQrInput(View view)
- {
- Intent intent = new Intent(this, InputUri.class);
- startActivity(intent);
- }
-
- public void runQrDisplay(View view)
- {
- Intent intent = new Intent(this, QrCodeDisplayActivity.class);
- startActivity(intent);
- }
-
- public void runWpaCommands(View view)
- {
- Intent intent = new Intent(this, WpaCommandListActivity.class);
- startActivity(intent);
- }
-
- public void runWpaCredentials(View view)
- {
- Intent intent = new Intent(this, WpaCredActivity.class);
- startActivity(intent);
- }
-
- public void runWpaCliCmd(View view)
- {
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- EditText editText = (EditText) findViewById(R.id.edit_cmd);
- String cmd = editText.getText().toString();
- if (cmd.trim().length() == 0) {
- show_alert("wpa_cli command", "Invalid command");
- return;
- }
- wpaCmd(view, cmd);
- }
-
- public void wpaLogLevelInfo(View view)
- {
- wpaCmd(view, "LOG_LEVEL INFO 1");
- }
-
- public void wpaLogLevelDebug(View view)
- {
- wpaCmd(view, "LOG_LEVEL DEBUG 1");
- }
-
- public void wpaLogLevelExcessive(View view)
- {
- wpaCmd(view, "LOG_LEVEL EXCESSIVE 1");
- }
-
- private void wpaCmd(View view, String cmd)
- {
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- String message = run("wpa_cli " + cmd);
- if (message == null)
- return;
- intent.putExtra(EXTRA_MESSAGE, message);
- startActivity(intent);
- }
-
- private String run(String cmd)
- {
- try {
- Log.d(TAG, "Running external process: " + cmd);
- Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/mksh-su", "-c", cmd});
- BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- StringBuffer output = new StringBuffer();
- int read;
- char[] buffer = new char[1024];
- while ((read = reader.read(buffer)) > 0)
- output.append(buffer, 0, read);
- reader.close();
- proc.waitFor();
- Log.d(TAG, "External process completed - exitValue " +
- proc.exitValue());
- return output.toString();
- } catch (IOException e) {
- show_alert("Could not run external program",
- "Execution of an external program failed. " +
- "Maybe mksh-su was not installed.");
- return null;
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
-
- private void show_alert(String title, String message)
- {
- AlertDialog.Builder alert = new AlertDialog.Builder(this);
- alert.setTitle(title);
- alert.setMessage(message);
- alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id)
- {
- }
- });
- alert.create().show();
- }
-
- public void wifiManagerInfo(View view)
- {
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
- String message = "WifiState: " + manager.getWifiState() + "\n" +
- "WifiEnabled: " + manager.isWifiEnabled() + "\n" +
- "pingSupplicant: " + manager.pingSupplicant() + "\n" +
- "DhcpInfo: " + manager.getDhcpInfo().toString() + "\n";
- intent.putExtra(EXTRA_MESSAGE, message);
- startActivity(intent);
- }
-
- public void wifiInfo(View view)
- {
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
- WifiInfo wifi = manager.getConnectionInfo();
- String message = wifi.toString() + "\n" + wifi.getSupplicantState();
- intent.putExtra(EXTRA_MESSAGE, message);
- startActivity(intent);
- }
-
- public void wifiConfiguredNetworks(View view)
- {
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
- StringBuilder sb = new StringBuilder();
- for (WifiConfiguration n: manager.getConfiguredNetworks())
- sb.append(n.toString() + "\n");
- intent.putExtra(EXTRA_MESSAGE, sb.toString());
- startActivity(intent);
- }
-
- public void nfcWpsHandoverRequest(View view)
- {
- NfcAdapter nfc;
- nfc = NfcAdapter.getDefaultAdapter(this);
- if (nfc == null) {
- Toast.makeText(this, "NFC is not available",
- Toast.LENGTH_LONG).show();
- return;
- }
-
- NdefMessage msg;
- msg = new NdefMessage(new NdefRecord[] {
- NdefRecord.createMime("application/vnd.wfa.wsc",
- new byte[0])
- });
-
- nfc.setNdefPushMessage(msg, this);
- Toast.makeText(this, "NFC push message (WSC) configured",
- Toast.LENGTH_LONG).show();
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/QrCodeDisplayActivity.java b/wpadebug/src/w1/fi/wpadebug/QrCodeDisplayActivity.java
deleted file mode 100644
index 10c9c0144fe4..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/QrCodeDisplayActivity.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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.graphics.Bitmap;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-import android.widget.ImageView;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.MultiFormatWriter;
-import com.google.zxing.WriterException;
-import com.google.zxing.common.BitMatrix;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class QrCodeDisplayActivity extends Activity {
-
- private static final String TAG = "wpadebug";
- private static final String FILE_NAME = "wpadebug_qrdata.txt";
- private ImageView imageView;
-
- // Below set of configs are used for QR code display window
- private final static int WHITE = 0xFFFFFFFF;
- private final static int BLACK = 0xFF000000;
- private final static int WIDTH = 400;
- private final static int HEIGHT = 400;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // create imageview for this and attach to this activity.
- setContentView(R.layout.qrcode);
- imageView = (ImageView) findViewById(R.id.qrCode);
- String str = readFromFile(FILE_NAME);
-
- //Encode and launch qrcode now
- try {
- Bitmap bitmap = (TextUtils.isEmpty(str)) ? null : encodeAsBitmap(str);
- if (bitmap != null) {
- imageView.setImageBitmap(bitmap);
- } else {
- Log.e(TAG, "Failed to generate bitmap for uri=" + str);
- finish();
- }
- } catch (WriterException e) {
- e.printStackTrace();
- finish();
- }
- }
-
- private Bitmap encodeAsBitmap(String str) throws WriterException {
- BitMatrix result;
- try {
- result = new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, WIDTH, HEIGHT, null);
- } catch (IllegalArgumentException iae) {
- // Unsupported format
- return null;
- }
-
- int width = result.getWidth();
- int height = result.getHeight();
- int[] pixels = new int[width * height];
- for (int y = 0; y < height; y++) {
- int offset = y * width;
- for (int x = 0; x < width; x++) {
- pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
- }
- }
-
- Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
- bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
- return bitmap;
- }
-
- private String readFromFile(String filePath) {
- try {
- FileInputStream fis = new FileInputStream(new File("/sdcard", filePath));
- BufferedReader br = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
- StringBuilder sb = new StringBuilder();
- String line;
- while(( line = br.readLine()) != null ) {
- sb.append( line );
- sb.append( '\n' );
- }
- return sb.toString();
- }
- catch (FileNotFoundException e) {
- Log.e(TAG, "File not found: " + e.toString());
- } catch (IOException e) {
- Log.e(TAG, "Can not read file: " + e.toString());
- }
-
- return null;
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/QrCodeReadActivity.java b/wpadebug/src/w1/fi/wpadebug/QrCodeReadActivity.java
deleted file mode 100644
index f21eccba8660..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/QrCodeReadActivity.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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();
- }
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/QrCodeScannerActivity.java b/wpadebug/src/w1/fi/wpadebug/QrCodeScannerActivity.java
deleted file mode 100644
index 4b3591c725dc..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/QrCodeScannerActivity.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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.content.ActivityNotFoundException;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.widget.Toast;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-
-public class QrCodeScannerActivity extends Activity {
-
- private static final String TAG = "wpadebug";
- private static final String RESULT = "SCAN_RESULT";
- private static final String FILE_NAME = "wpadebug_qrdata.txt";
- private static final String ACTION = "com.google.zxing.client.android.SCAN";
-
- private static final int QRCODE = 1;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- Intent intent = new Intent();
- intent.setAction(ACTION);
- intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
- intent.putExtra("PROMPT_MESSAGE",
- "Place a QR Code inside the viewfinder rectangle to scan it.");
- try {
- startActivityForResult(intent, QRCODE);
- } catch (ActivityNotFoundException e) {
- Log.e(TAG, "No QR code scanner found with name=" + ACTION);
- Toast.makeText(QrCodeScannerActivity.this, "QR code scanner not found", Toast.LENGTH_SHORT).show();
- finish();
- }
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- Log.d(TAG, "onActivityResult: requestCode=" + requestCode + " resultCode=" + resultCode);
- if (requestCode == QRCODE && resultCode == RESULT_OK) {
- String contents = data.getStringExtra(RESULT);
- writeToFile(contents);
- Log.d(TAG, "onActivityResult: QRCODE RESULT_OK: " + contents);
- finishActivity(requestCode);
- finish();
- }
- }
-
- 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(data);
-
- myOutWriter.close();
-
- fOut.flush();
- fOut.close();
- }
- catch (IOException e)
- {
- Log.e(TAG, "File write failed: " + e.toString());
- }
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/WifiReceiver.java b/wpadebug/src/w1/fi/wpadebug/WifiReceiver.java
deleted file mode 100644
index d69e05d69ebb..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/WifiReceiver.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-package w1.fi.wpadebug;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.net.NetworkInfo;
-import android.net.wifi.SupplicantState;
-import android.net.wifi.WifiInfo;
-import android.os.Bundle;
-import android.util.Log;
-
-public class WifiReceiver extends BroadcastReceiver
-{
- private static final String TAG = "wpadebug";
-
- @Override
- public void onReceive(Context c, Intent intent)
- {
- String act = intent.getAction();
- Log.d(TAG, "Received broadcast intent: action=" + act);
-
- Bundle bundles = intent.getExtras();
- if (bundles == null)
- return;
-
- if (bundles.containsKey("bssid")) {
- String val;
- val = intent.getStringExtra("bssid");
- if (val != null)
- Log.d(TAG, " bssid: " + val);
- }
-
- if (bundles.containsKey("networkInfo")) {
- NetworkInfo info;
- info = (NetworkInfo) intent.getParcelableExtra("networkInfo");
- if (info != null)
- Log.d(TAG, " networkInfo: " + info);
- }
-
- if (bundles.containsKey("newRssi")) {
- int val;
- val = intent.getIntExtra("newRssi", -1);
- Log.d(TAG, " newRssi: " + val);
- }
-
- if (bundles.containsKey("newState")) {
- SupplicantState state;
- state = (SupplicantState) intent.getParcelableExtra("newState");
- if (state != null)
- Log.d(TAG, " newState: " + state);
- }
-
- if (bundles.containsKey("previous_wifi_state")) {
- int wifi_state;
- wifi_state = intent.getIntExtra("previous_wifi_state", -1);
- if (wifi_state != -1)
- Log.d(TAG, " previous_wifi_state: " + wifi_state);
- }
-
- if (bundles.containsKey("connected")) {
- boolean connected;
- connected = intent.getBooleanExtra("connected", false);
- Log.d(TAG, " connected: " + connected);
- }
-
- if (bundles.containsKey("supplicantError")) {
- int error;
- error = intent.getIntExtra("supplicantError", -1);
- if (error != -1)
- Log.d(TAG, " supplicantError: " + error);
- }
-
- if (bundles.containsKey("wifiInfo")) {
- WifiInfo info;
- info = (WifiInfo) intent.getParcelableExtra("wifiInfo");
- if (info != null)
- Log.d(TAG, " wifiInfo: " + info);
- }
-
- if (bundles.containsKey("wifi_state")) {
- int wifi_state;
- wifi_state = intent.getIntExtra("wifi_state", -1);
- if (wifi_state != -1)
- Log.d(TAG, " wifi_state: " + wifi_state);
- }
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/WpaCommandListActivity.java b/wpadebug/src/w1/fi/wpadebug/WpaCommandListActivity.java
deleted file mode 100644
index e089179340ee..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/WpaCommandListActivity.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-package w1.fi.wpadebug;
-
-import java.util.ArrayList;
-import java.util.Scanner;
-import java.io.FileReader;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.InputStream;
-import java.io.IOException;
-
-import android.app.ListActivity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.view.View;
-import android.widget.ListView;
-import android.widget.ArrayAdapter;
-import android.widget.Toast;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-
-public class WpaCommandListActivity extends ListActivity
-{
- private static final String TAG = "wpadebug";
- private static final String cmdfile = "/data/local/wpadebug.wpacmds";
-
- private void read_commands(ArrayList<CmdList> list, Scanner in)
- {
- in.useDelimiter("@");
- while (in.hasNext()) {
- String title = in.next();
- String cmd = in.nextLine().substring(1);
- list.add(new CmdList(title, cmd));
- }
- in.close();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- ArrayList<CmdList> list = new ArrayList<CmdList>();
-
- FileReader in;
- try {
- in = new FileReader(cmdfile);
- read_commands(list, new Scanner(in));
- } catch (IOException e) {
- Toast.makeText(this, "Could not read " + cmdfile,
- Toast.LENGTH_SHORT).show();
- }
-
- InputStream inres;
- try {
- inres = getResources().openRawResource(R.raw.wpa_commands);
- read_commands(list, new Scanner(inres));
- } catch (android.content.res.Resources.NotFoundException e) {
- Toast.makeText(this, "Could not read internal resource",
- Toast.LENGTH_SHORT).show();
- }
-
- ArrayAdapter<CmdList> listAdapter;
- listAdapter = new ArrayAdapter<CmdList>(this, android.R.layout.simple_list_item_1, list);
-
- setListAdapter(listAdapter);
- }
-
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id)
- {
- CmdList item = (CmdList) getListAdapter().getItem(position);
- Toast.makeText(this, "Running: " + item.command,
- Toast.LENGTH_SHORT).show();
- String message = run(item.command);
- if (message == null)
- return;
- Intent intent = new Intent(this, DisplayMessageActivity.class);
- intent.putExtra(MainActivity.EXTRA_MESSAGE, message);
- startActivity(intent);
- }
-
- private String run(String cmd)
- {
- try {
- Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/mksh-su", "-c", "wpa_cli " + cmd});
- BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- StringBuffer output = new StringBuffer();
- int read;
- char[] buffer = new char[1024];
- while ((read = reader.read(buffer)) > 0)
- output.append(buffer, 0, read);
- reader.close();
- proc.waitFor();
- return output.toString();
- } catch (IOException e) {
- Toast.makeText(this, "Could not run command",
- Toast.LENGTH_LONG).show();
- return null;
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/WpaCredActivity.java b/wpadebug/src/w1/fi/wpadebug/WpaCredActivity.java
deleted file mode 100644
index 3902f0964d0a..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/WpaCredActivity.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-package w1.fi.wpadebug;
-
-import java.util.ArrayList;
-import java.util.ListIterator;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.InputStream;
-import java.io.IOException;
-
-import android.app.ListActivity;
-import android.app.ActionBar;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.widget.ListView;
-import android.widget.ArrayAdapter;
-import android.widget.Toast;
-import android.widget.AdapterView.AdapterContextMenuInfo;
-
-class Credential
-{
- int id;
- String realm;
- String username;
- String domain;
- String imsi;
-
- public Credential(String entry)
- {
- String fields[] = entry.split("\t");
- id = Integer.parseInt(fields[0]);
- if (fields.length > 1)
- realm = fields[1];
- else
- realm = "";
- if (fields.length > 2)
- username = fields[2];
- else
- username = "";
- if (fields.length > 3 && fields[3].length() > 0)
- domain = fields[3];
- else
- domain = null;
- if (fields.length > 4 && fields[4].length() > 0)
- imsi = fields[4];
- else
- imsi = null;
- }
-
- public Credential(int _id, String _username, String _realm, String _domain,
- String _imsi)
- {
- id = _id;
- username = _username;
- realm = _realm;
- domain = _domain;
- imsi = _imsi;
- }
-
-
- @Override
- public String toString()
- {
- String res = id + " - " + username + "@" + realm;
- if (domain != null)
- res += " (domain=" + domain + ")";
- if (imsi != null)
- res += " (imsi=" + imsi + ")";
- return res;
- }
-}
-
-public class WpaCredActivity extends ListActivity
-{
- private static final String TAG = "wpadebug";
- static final int CRED_EDIT_REQ = 0;
- private ArrayList<Credential> mList;
- private ArrayAdapter<Credential> mListAdapter;
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- mList = new ArrayList<Credential>();
-
- String res = run("LIST_CREDS");
- if (res == null) {
- Toast.makeText(this, "Could not get credential list",
- Toast.LENGTH_LONG).show();
- finish();
- return;
- }
-
- String creds[] = res.split("\n");
- for (String cred: creds) {
- if (Character.isDigit(cred.charAt(0)))
- mList.add(new Credential(cred));
- }
-
- mListAdapter = new ArrayAdapter<Credential>(this, android.R.layout.simple_list_item_1, mList);
-
- setListAdapter(mListAdapter);
- registerForContextMenu(getListView());
-
- ActionBar abar = getActionBar();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu)
- {
- menu.add(0, 0, 0, "Add credential");
- return true;
- }
-
- protected void onActivityResult(int requestCode, int resultCode,
- Intent data)
- {
- if (requestCode == CRED_EDIT_REQ) {
- if (resultCode != RESULT_OK)
- return;
-
- String username = data.getStringExtra("username");
-
- String realm = data.getStringExtra("realm");
-
- String domain = data.getStringExtra("domain");
- if (domain != null && domain.length() == 0)
- domain = null;
-
- String imsi = data.getStringExtra("imsi");
- if (imsi != null && imsi.length() == 0)
- imsi = null;
-
- String password = data.getStringExtra("password");
- if (password != null && password.length() == 0)
- password = null;
-
- String res = run("ADD_CRED");
- if (res == null || res.contains("FAIL")) {
- Toast.makeText(this, "Failed to add credential",
- Toast.LENGTH_LONG).show();
- return;
- }
-
- int id = -1;
- String lines[] = res.split("\n");
- for (String line: lines) {
- if (Character.isDigit(line.charAt(0))) {
- id = Integer.parseInt(line);
- break;
- }
- }
-
- if (id < 0) {
- Toast.makeText(this, "Failed to add credential (invalid id)",
- Toast.LENGTH_LONG).show();
- return;
- }
-
- if (!set_cred_quoted(id, "username", username) ||
- !set_cred_quoted(id, "realm", realm) ||
- (password != null &&
- !set_cred_quoted(id, "password", password)) ||
- (domain != null && !set_cred_quoted(id, "domain", domain)) ||
- (imsi != null && !set_cred_quoted(id, "imsi", imsi))) {
- run("REMOVE_CRED " + id);
- Toast.makeText(this, "Failed to set credential field",
- Toast.LENGTH_LONG).show();
- return;
- }
-
- mListAdapter.add(new Credential(id, username, realm, domain, imsi));
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item)
- {
- if (item.getTitle().equals("Add credential")) {
- startActivityForResult(new Intent(this, WpaCredEditActivity.class),
- CRED_EDIT_REQ);
- return true;
- }
- return false;
- }
-
- public void onCreateContextMenu(android.view.ContextMenu menu, View v,
- android.view.ContextMenu.ContextMenuInfo menuInfo)
- {
- menu.add(0, v.getId(), 0, "Delete");
- }
-
- @Override
- public boolean onContextItemSelected(MenuItem item)
- {
- if (item.getTitle().equals("Delete")) {
- AdapterContextMenuInfo info =
- (AdapterContextMenuInfo) item.getMenuInfo();
- Credential cred = (Credential) getListAdapter().getItem(info.position);
- String res = run("REMOVE_CRED " + cred.id);
- if (res == null || !res.contains("OK")) {
- Toast.makeText(this, "Failed to delete credential",
- Toast.LENGTH_LONG).show();
- } else
- mListAdapter.remove(cred);
- return true;
- }
- return super.onContextItemSelected(item);
- }
-
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id)
- {
- Credential item = (Credential) getListAdapter().getItem(position);
- Toast.makeText(this, "Credential selected: " + item,
- Toast.LENGTH_SHORT).show();
- }
-
- private String run(String cmd)
- {
- try {
- Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/mksh-su", "-c", "wpa_cli " + cmd});
- BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- StringBuffer output = new StringBuffer();
- int read;
- char[] buffer = new char[1024];
- while ((read = reader.read(buffer)) > 0)
- output.append(buffer, 0, read);
- reader.close();
- proc.waitFor();
- return output.toString();
- } catch (IOException e) {
- Toast.makeText(this, "Could not run command",
- Toast.LENGTH_LONG).show();
- return null;
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
-
- private boolean set_cred(int id, String field, String value)
- {
- String res = run("SET_CRED " + id + " " + field + " " + value);
- return res != null && res.contains("OK");
- }
-
- private boolean set_cred_quoted(int id, String field, String value)
- {
- String value2 = "'\"" + value + "\"'";
- return set_cred(id, field, value2);
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/WpaCredEditActivity.java b/wpadebug/src/w1/fi/wpadebug/WpaCredEditActivity.java
deleted file mode 100644
index 3f846c7b4e82..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/WpaCredEditActivity.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * 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.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.EditText;
-
-public class WpaCredEditActivity extends Activity
-{
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.cred_edit);
- }
-
- public void credSave(View view)
- {
- Intent data = new Intent();
- EditText edit;
-
- edit = (EditText) findViewById(R.id.cred_edit_username);
- data.putExtra("username", edit.getText().toString());
-
- edit = (EditText) findViewById(R.id.cred_edit_realm);
- data.putExtra("realm", edit.getText().toString());
-
- edit = (EditText) findViewById(R.id.cred_edit_password);
- data.putExtra("password", edit.getText().toString());
-
- edit = (EditText) findViewById(R.id.cred_edit_domain);
- data.putExtra("domain", edit.getText().toString());
-
- edit = (EditText) findViewById(R.id.cred_edit_imsi);
- data.putExtra("imsi", edit.getText().toString());
-
- setResult(Activity.RESULT_OK, data);
- finish();
- }
-
- public void credCancel(View view)
- {
- setResult(Activity.RESULT_CANCELED);
- finish();
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java b/wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java
deleted file mode 100644
index 6a1601723b6a..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-package w1.fi.wpadebug;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.IOException;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.view.MenuItem;
-import android.content.Intent;
-import android.content.DialogInterface;
-import android.widget.TextView;
-import android.widget.Toast;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-import android.nfc.NdefMessage;
-import android.nfc.NdefRecord;
-import android.nfc.NfcAdapter;
-
-public class WpaNfcActivity extends Activity
-{
- private static final String TAG = "wpadebug";
-
- String byteArrayHex(byte[] a) {
- StringBuilder sb = new StringBuilder();
- for (byte b: a)
- sb.append(String.format("%02x", b));
- return sb.toString();
- }
-
- private void show_alert(String title, String message)
- {
- AlertDialog.Builder alert = new AlertDialog.Builder(this);
- alert.setTitle(title);
- alert.setMessage(message);
- alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id)
- {
- finish();
- }
- });
- alert.create().show();
- }
-
- private String wpaCmd(String cmd)
- {
- try {
- Log.d(TAG, "Executing wpaCmd: " + cmd);
- Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/mksh-su", "-c", "wpa_cli " + cmd});
- BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- StringBuffer output = new StringBuffer();
- int read;
- char[] buffer = new char[1024];
- while ((read = reader.read(buffer)) > 0)
- output.append(buffer, 0, read);
- reader.close();
- proc.waitFor();
- Log.d(TAG, "External process completed - exitValue " +
- proc.exitValue());
- return output.toString();
- } catch (IOException e) {
- show_alert("Could not run external program",
- "Execution of an external program failed. " +
- "Maybe mksh-su was not installed.");
- return null;
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
-
- public boolean report_tag_read(byte[] payload)
- {
- String res = wpaCmd("WPS_NFC_TAG_READ " + byteArrayHex(payload));
- if (res == null)
- return false;
- if (!res.contains("OK")) {
- Toast.makeText(this, "Failed to report WSC tag read to " +
- "wpa_supplicant", Toast.LENGTH_LONG).show();
- } else {
- Toast.makeText(this, "Reported WSC tag read to wpa_supplicant",
- Toast.LENGTH_LONG).show();
- }
- finish();
- return true;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- Intent intent = getIntent();
- String action = intent.getAction();
- Log.d(TAG, "onCreate: action=" + action);
-
- if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
- Log.d(TAG, "NDEF discovered");
- Parcelable[] raw = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
- if (raw != null) {
- Log.d(TAG, "NDEF message count: " + raw.length);
- NdefMessage[] msgs = new NdefMessage[raw.length];
- for (int i = 0; i < raw.length; i++) {
- msgs[i] = (NdefMessage) raw[i];
- NdefRecord rec = msgs[i].getRecords()[0];
- Log.d(TAG, "MIME type: " + rec.toMimeType());
- byte[] a = rec.getPayload();
- Log.d(TAG, "NDEF record: " + byteArrayHex(a));
- if (rec.getTnf() == NdefRecord.TNF_MIME_MEDIA &&
- rec.toMimeType().equals("application/vnd/wfa.wsc")) {
- Log.d(TAG, "WSC tag read");
- }
-
- if (!report_tag_read(a))
- return;
- }
- }
- }
-
- finish();
- }
-}
diff --git a/wpadebug/src/w1/fi/wpadebug/WpaWebViewActivity.java b/wpadebug/src/w1/fi/wpadebug/WpaWebViewActivity.java
deleted file mode 100644
index a7c54fc680c9..000000000000
--- a/wpadebug/src/w1/fi/wpadebug/WpaWebViewActivity.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
- * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- *
- * 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.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.net.http.SslError;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.Window;
-import android.webkit.SslErrorHandler;
-import android.webkit.WebChromeClient;
-import android.webkit.WebView;
-import android.webkit.WebViewClient;
-import android.widget.Toast;
-
-public class WpaWebViewActivity extends Activity
-{
- private static final String TAG = "wpadebug";
- private static final String EXTRA_MESSAGE = "w1.fi.wpadebug.URL";
- private WebView mWebView;
- final Activity activity = this;
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- Log.d(TAG, "WpaWebViewActivity::onCreate");
- super.onCreate(savedInstanceState);
-
- Intent intent = getIntent();
- String url = intent.getStringExtra(EXTRA_MESSAGE);
- Log.d(TAG, "url=" + url);
- if (url.equals("FINISH")) {
- finish();
- return;
- }
-
- mWebView = new WebView(this);
- mWebView.getSettings().setJavaScriptEnabled(true);
- mWebView.setWebViewClient(new WpaWebViewClient());
-
- getWindow().requestFeature(Window.FEATURE_PROGRESS);
-
- mWebView.setWebChromeClient(new WebChromeClient()
- {
- public void onProgressChanged(WebView view, int progress)
- {
- Log.d(TAG, "progress=" + progress);
- activity.setProgress(progress * 1000);
- }
- });
-
- setContentView(mWebView);
-
- mWebView.loadUrl(url);
- }
-
- @Override
- public void onResume()
- {
- Log.d(TAG, "WpaWebViewActivity::onResume");
- super.onResume();
- }
-
- @Override
- protected void onNewIntent(Intent intent)
- {
- Log.d(TAG, "WpaWebViewActivity::onNewIntent");
- super.onNewIntent(intent);
- String url = intent.getStringExtra(EXTRA_MESSAGE);
- Log.d(TAG, "url=" + url);
- setIntent(intent);
- if (url.equals("FINISH")) {
- finish();
- return;
- }
- mWebView.loadUrl(url);
- }
-
- private class WpaWebViewClient extends WebViewClient {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url)
- {
- Log.d(TAG, "shouldOverrideUrlLoading: url=" + url);
- Intent intent = getIntent();
- intent.putExtra(EXTRA_MESSAGE, url);
-
- view.loadUrl(url);
- return true;
- }
-
- @Override
- public void onPageFinished(WebView view, String url)
- {
- Log.d(TAG, "onPageFinished: url=" + url);
- }
-
- public void onReceivedError(WebView view, int errorCode,
- String description, String failingUrl)
- {
- Log.d(TAG, "Failed to load page: errorCode=" +
- errorCode + " description=" + description +
- " URL=" + failingUrl);
- Toast.makeText(activity, "Failed to load page: " +
- description + " (URL=" + failingUrl + ")",
- Toast.LENGTH_LONG).show();
- }
-
- @Override
- public void onReceivedSslError(WebView view, SslErrorHandler handler,
- SslError error)
- {
- Log.d(TAG, "SSL error: " + error);
-
- final SslErrorHandler h = handler;
- AlertDialog.Builder alert = new AlertDialog.Builder(activity);
- alert.setTitle("SSL error - Continue?");
- alert.setMessage(error.toString())
- .setCancelable(false)
- .setPositiveButton("Yes", new DialogInterface.OnClickListener()
- {
- public void onClick(DialogInterface dialog, int id)
- {
- h.proceed();
- }
- })
- .setNegativeButton("No", new DialogInterface.OnClickListener()
- {
- public void onClick(DialogInterface dialog, int id)
- {
- h.cancel();
- }
- });
- alert.show();
- }
- }
-}