OSDN Git Service

wifi: Send event without prefix to p2p0
authorDmitry Shmidt <dimitrysh@google.com>
Wed, 14 Aug 2013 22:25:22 +0000 (15:25 -0700)
committerDmitry Shmidt <dimitrysh@google.com>
Thu, 15 Aug 2013 18:13:03 +0000 (11:13 -0700)
Bug: 9298955

Change-Id: I71037dd1cd60ee4efa75e1d6fab60a07bdf0626d
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
wifi/java/android/net/wifi/WifiMonitor.java

index f6d5c98..a80238b 100644 (file)
@@ -506,13 +506,14 @@ public class WifiMonitor {
                     Log.d(TAG, "Event [" + eventStr + "]");
                 }
 
+                String iface = "p2p0";
                 WifiMonitor m = null;
                 mStateMachine = null;
 
                 if (eventStr.startsWith("IFNAME=")) {
                     int space = eventStr.indexOf(' ');
                     if (space != -1) {
-                        String iface = eventStr.substring(7,space);
+                        iface = eventStr.substring(7,space);
                         m = mWifiMonitorSingleton.getMonitor(iface);
                         if (m == null && iface.startsWith("p2p-")) {
                             // p2p interfaces are created dynamically, but we have
@@ -520,20 +521,20 @@ public class WifiMonitor {
                             // for it explicitly, and send messages there ..
                             m = mWifiMonitorSingleton.getMonitor("p2p0");
                         }
-                        if (m != null) {
-                            if (m.mMonitoring) {
-                                mStateMachine = m.mWifiStateMachine;
-                                eventStr = eventStr.substring(space + 1);
-                            }
-                            else {
-                                if (DBG) Log.d(TAG, "Dropping event because monitor (" + iface +
-                                        ") is stopped");
-                                continue;
-                            }
-                        }
-                        else {
-                            eventStr = eventStr.substring(space + 1);
-                        }
+                        eventStr = eventStr.substring(space + 1);
+                    }
+                } else {
+                    // events without prefix belong to p2p0 monitor
+                    m = mWifiMonitorSingleton.getMonitor("p2p0");
+                }
+
+                if (m != null) {
+                    if (m.mMonitoring) {
+                        mStateMachine = m.mWifiStateMachine;
+                    } else {
+                        if (DBG) Log.d(TAG, "Dropping event because monitor (" + iface +
+                                            ") is stopped");
+                        continue;
                     }
                 }