summaryrefslogtreecommitdiffstats
path: root/wifi/java/android/net/wifi/p2p
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2012-10-24 15:26:28 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-24 15:26:28 -0700
commit88d254cffbf8d1b75d506384a41148a3112b6af1 (patch)
tree76c1cf094567e4de9b9c34830ed2c69a7af0f80f /wifi/java/android/net/wifi/p2p
parentb21b4fdcea2d3ff4186f4c8dbcd89493cc4fd2bf (diff)
parent4e7f2ffe1791807636ac542f73016773c30daa92 (diff)
downloadframeworks_base-88d254cffbf8d1b75d506384a41148a3112b6af1.zip
frameworks_base-88d254cffbf8d1b75d506384a41148a3112b6af1.tar.gz
frameworks_base-88d254cffbf8d1b75d506384a41148a3112b6af1.tar.bz2
am 4e7f2ffe: Merge "Handle group tear down only at group removed event" into jb-mr1-dev
* commit '4e7f2ffe1791807636ac542f73016773c30daa92': Handle group tear down only at group removed event
Diffstat (limited to 'wifi/java/android/net/wifi/p2p')
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pService.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
index 4ac487d..4a4320c 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
@@ -1568,9 +1568,17 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
WifiP2pManager.ERROR);
}
break;
- /* The supplicant misses the group removed event at times and just
- * sends a network disconnect event */
- case WifiMonitor.NETWORK_DISCONNECTION_EVENT:
+ /* We do not listen to NETWORK_DISCONNECTION_EVENT for group removal
+ * handling since supplicant actually tries to reconnect after a temporary
+ * disconnect until group idle time out. Eventually, a group removal event
+ * will come when group has been removed.
+ *
+ * When there are connectivity issues during temporary disconnect, the application
+ * will also just remove the group.
+ *
+ * Treating network disconnection as group removal causes race conditions since
+ * supplicant would still maintain the group at that stage.
+ */
case WifiMonitor.P2P_GROUP_REMOVED_EVENT:
if (DBG) logd(getName() + " group removed");
handleGroupRemoved();