summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2013-04-11 15:55:31 -0700
committerIrfan Sheriff <isheriff@google.com>2013-04-11 15:55:31 -0700
commit08b1ad435f0d98fb5a43b9eb91c17f6d36a06bb4 (patch)
treedc01a6b61cae03f55c18af54d8ae065151a5c0d7 /wifi
parent51e4ece385c6c34d97d5fa2dcc8e3b2c0bae7c22 (diff)
downloadframeworks_base-08b1ad435f0d98fb5a43b9eb91c17f6d36a06bb4.zip
frameworks_base-08b1ad435f0d98fb5a43b9eb91c17f6d36a06bb4.tar.gz
frameworks_base-08b1ad435f0d98fb5a43b9eb91c17f6d36a06bb4.tar.bz2
Fix WPS handling when already connected
Dont enable networks too quickly Bug: 8558120 Change-Id: Ibee1ae393d56e532227505d0393a9a337f72f62f
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index c09e3aa..04e7095 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -3357,9 +3357,13 @@ public class WifiStateMachine extends StateMachine {
public boolean processMessage(Message message) {
switch (message.what) {
case WifiMonitor.WPS_SUCCESS_EVENT:
+ // Ignore intermediate success, wait for full connection
+ break;
+ case WifiMonitor.NETWORK_CONNECTION_EVENT:
replyToMessage(mSourceMessage, WifiManager.WPS_COMPLETED);
mSourceMessage.recycle();
mSourceMessage = null;
+ deferMessage(message);
transitionTo(mDisconnectedState);
break;
case WifiMonitor.WPS_OVERLAP_EVENT:
@@ -3403,7 +3407,6 @@ public class WifiStateMachine extends StateMachine {
case CMD_ENABLE_NETWORK:
case CMD_RECONNECT:
case CMD_REASSOCIATE:
- case WifiMonitor.NETWORK_CONNECTION_EVENT: /* Handled after exiting WPS state */
deferMessage(message);
break;
case WifiMonitor.NETWORK_DISCONNECTION_EVENT: