From 08b1ad435f0d98fb5a43b9eb91c17f6d36a06bb4 Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Thu, 11 Apr 2013 15:55:31 -0700 Subject: Fix WPS handling when already connected Dont enable networks too quickly Bug: 8558120 Change-Id: Ibee1ae393d56e532227505d0393a9a337f72f62f --- wifi/java/android/net/wifi/WifiStateMachine.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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: -- cgit v1.1