]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wpadebug: Move NFC intent activity into a separate class
authorJouni Malinen <j@w1.fi>
Sat, 4 May 2013 17:29:47 +0000 (20:29 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 4 May 2013 17:29:47 +0000 (20:29 +0300)
This simplifies both activities by making the DisplayMessageActity
simple text message displaying operation and the NFC activity as
something that is started only through NFC intent triggers.

Signed-hostap: Jouni Malinen <j@w1.fi>

wpadebug/AndroidManifest.xml
wpadebug/src/w1/fi/wpadebug/DisplayMessageActivity.java
wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java [new file with mode: 0644]

index 95ac7267d86d54a67da7a0b7fdb7dcea262bf7dc..535e3d2be1bc376408d952380af309c44aaef0f6 100644 (file)
        <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"/>
index 19cb14b9b35662abf6d69fceef8263d89124a170..28ef85f39169c4563b0f6630fe0449b87822880e 100644 (file)
@@ -16,9 +16,6 @@ import android.content.Intent;
 import android.widget.TextView;
 import android.text.method.ScrollingMovementMethod;
 import android.util.Log;
-import android.nfc.NdefMessage;
-import android.nfc.NdefRecord;
-import android.nfc.NfcAdapter;
 
 public class DisplayMessageActivity extends Activity
 {
@@ -41,8 +38,6 @@ public class DisplayMessageActivity extends Activity
        Intent intent = getIntent();
        String action = intent.getAction();
        Log.d(TAG, "onCreate: action=" + action);
-       if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()))
-           return; // handled in onResume()
 
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
 
@@ -51,38 +46,4 @@ public class DisplayMessageActivity extends Activity
        textView.setMovementMethod(new ScrollingMovementMethod());
         setContentView(textView);
     }
-
-    @Override
-    public void onResume()
-    {
-       super.onResume();
-
-       Intent intent = getIntent();
-       String action = intent.getAction();
-       Log.d(TAG, "onResume: action=" + action);
-
-       if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
-           Log.d(TAG, "onResume - NDEF discovered");
-           Parcelable[] raw = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
-           if (raw != null) {
-               String txt = "NDEF message count: " + raw.length;
-               Log.d(TAG, txt);
-               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));
-                   txt += "\nMessage[" + rec.toMimeType() + "]: " +
-                       byteArrayHex(a);
-               }
-
-               TextView textView = new TextView(this);
-               textView.setText(txt);
-               textView.setMovementMethod(new ScrollingMovementMethod());
-               setContentView(textView);
-           }
-       }
-    }
 }
diff --git a/wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java b/wpadebug/src/w1/fi/wpadebug/WpaNfcActivity.java
new file mode 100644 (file)
index 0000000..2fcbb46
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * 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;
+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();
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState)
+    {
+       Log.d(TAG, "onCreate");
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onResume()
+    {
+       super.onResume();
+
+       Intent intent = getIntent();
+       String action = intent.getAction();
+       Log.d(TAG, "onResume: action=" + action);
+
+       if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
+           Log.d(TAG, "onResume - NDEF discovered");
+           Parcelable[] raw = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
+           if (raw != null) {
+               String txt = "NDEF message count: " + raw.length;
+               Log.d(TAG, txt);
+               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));
+                   txt += "\nMessage[" + rec.toMimeType() + "]: " +
+                       byteArrayHex(a);
+               }
+
+               TextView textView = new TextView(this);
+               textView.setText(txt);
+               textView.setMovementMethod(new ScrollingMovementMethod());
+               setContentView(textView);
+           }
+       }
+    }
+}