Loading wifi/java/android/net/wifi/WifiManager.java +19 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,25 @@ public class WifiManager { * @see #ERROR_AUTHENTICATING */ public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError"; /** * Broadcast intent action for reporting errors * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ERROR_ACTION = "android.net.wifi.ERROR"; /** * The type of error being reported * @hide */ public static final String EXTRA_ERROR_CODE = "errorCode"; /** * Valid error codes * @hide */ public static final int WPS_OVERLAP_ERROR = 1; /** * Broadcast intent action indicating that the configured networks changed. * This can be as a result of adding/updating/deleting a network Loading wifi/java/android/net/wifi/WifiMonitor.java +5 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,9 @@ public class WifiMonitor { private static final String passwordKeyMayBeIncorrectEvent = "pre-shared key may be incorrect"; /* WPS events */ private static final String wpsOverlapEvent = "WPS-OVERLAP-DETECTED"; /** * Names of events from wpa_supplicant (minus the prefix). In the * format descriptions, * "<code>x</code>" Loading Loading @@ -174,6 +177,8 @@ public class WifiMonitor { if (eventStr.startsWith(wpaEventPrefix) && 0 < eventStr.indexOf(passwordKeyMayBeIncorrectEvent)) { handlePasswordKeyMayBeIncorrect(); } else if (eventStr.startsWith(wpsOverlapEvent)) { mWifiStateMachine.notifyWpsOverlap(); } continue; } Loading wifi/java/android/net/wifi/WifiStateMachine.java +24 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,9 @@ public class WifiStateMachine extends HierarchicalStateMachine { static final int SUPPLICANT_STATE_CHANGE_EVENT = 39; /* Password may be incorrect */ static final int PASSWORD_MAY_BE_INCORRECT_EVENT = 40; /* WPS overlap detected */ static final int WPS_OVERLAP_EVENT = 41; /* Supplicant commands */ /* Is supplicant alive ? */ Loading Loading @@ -1287,6 +1290,13 @@ public class WifiStateMachine extends HierarchicalStateMachine { mContext.sendStickyBroadcast(intent); } private void sendErrorBroadcast(int errorCode) { Intent intent = new Intent(WifiManager.ERROR_ACTION); intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); intent.putExtra(WifiManager.EXTRA_ERROR_CODE, errorCode); mContext.sendBroadcast(intent); } private void sendLinkConfigurationChangedBroadcast() { Intent intent = new Intent(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION); intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); Loading Loading @@ -1381,6 +1391,14 @@ public class WifiStateMachine extends HierarchicalStateMachine { sendMessage(PASSWORD_MAY_BE_INCORRECT_EVENT); } /** * Send a notification that the supplicant has detected overlapped * WPS sessions */ void notifyWpsOverlap() { sendMessage(WPS_OVERLAP_EVENT); } /** * Send the tracker a notification that a connection to the supplicant * daemon has been established. Loading Loading @@ -1499,6 +1517,7 @@ public class WifiStateMachine extends HierarchicalStateMachine { case SCAN_RESULTS_EVENT: case SUPPLICANT_STATE_CHANGE_EVENT: case PASSWORD_MAY_BE_INCORRECT_EVENT: case WPS_OVERLAP_EVENT: case CMD_BLACKLIST_NETWORK: case CMD_CLEAR_BLACKLIST: case CMD_SET_SCAN_MODE: Loading Loading @@ -2042,6 +2061,7 @@ public class WifiStateMachine extends HierarchicalStateMachine { case NETWORK_CONNECTION_EVENT: case NETWORK_DISCONNECTION_EVENT: case PASSWORD_MAY_BE_INCORRECT_EVENT: case WPS_OVERLAP_EVENT: case CMD_SET_SCAN_TYPE: case CMD_SET_HIGH_PERF_MODE: case CMD_SET_COUNTRY_CODE: Loading Loading @@ -2276,6 +2296,10 @@ public class WifiStateMachine extends HierarchicalStateMachine { case PASSWORD_MAY_BE_INCORRECT_EVENT: mSupplicantStateTracker.sendMessage(PASSWORD_MAY_BE_INCORRECT_EVENT); break; case WPS_OVERLAP_EVENT: /* We just need to broadcast the error */ sendErrorBroadcast(WifiManager.WPS_OVERLAP_ERROR); break; case SUPPLICANT_STATE_CHANGE_EVENT: stateChangeResult = (StateChangeResult) message.obj; SupplicantState state = stateChangeResult.state; Loading Loading
wifi/java/android/net/wifi/WifiManager.java +19 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,25 @@ public class WifiManager { * @see #ERROR_AUTHENTICATING */ public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError"; /** * Broadcast intent action for reporting errors * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ERROR_ACTION = "android.net.wifi.ERROR"; /** * The type of error being reported * @hide */ public static final String EXTRA_ERROR_CODE = "errorCode"; /** * Valid error codes * @hide */ public static final int WPS_OVERLAP_ERROR = 1; /** * Broadcast intent action indicating that the configured networks changed. * This can be as a result of adding/updating/deleting a network Loading
wifi/java/android/net/wifi/WifiMonitor.java +5 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,9 @@ public class WifiMonitor { private static final String passwordKeyMayBeIncorrectEvent = "pre-shared key may be incorrect"; /* WPS events */ private static final String wpsOverlapEvent = "WPS-OVERLAP-DETECTED"; /** * Names of events from wpa_supplicant (minus the prefix). In the * format descriptions, * "<code>x</code>" Loading Loading @@ -174,6 +177,8 @@ public class WifiMonitor { if (eventStr.startsWith(wpaEventPrefix) && 0 < eventStr.indexOf(passwordKeyMayBeIncorrectEvent)) { handlePasswordKeyMayBeIncorrect(); } else if (eventStr.startsWith(wpsOverlapEvent)) { mWifiStateMachine.notifyWpsOverlap(); } continue; } Loading
wifi/java/android/net/wifi/WifiStateMachine.java +24 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,9 @@ public class WifiStateMachine extends HierarchicalStateMachine { static final int SUPPLICANT_STATE_CHANGE_EVENT = 39; /* Password may be incorrect */ static final int PASSWORD_MAY_BE_INCORRECT_EVENT = 40; /* WPS overlap detected */ static final int WPS_OVERLAP_EVENT = 41; /* Supplicant commands */ /* Is supplicant alive ? */ Loading Loading @@ -1287,6 +1290,13 @@ public class WifiStateMachine extends HierarchicalStateMachine { mContext.sendStickyBroadcast(intent); } private void sendErrorBroadcast(int errorCode) { Intent intent = new Intent(WifiManager.ERROR_ACTION); intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); intent.putExtra(WifiManager.EXTRA_ERROR_CODE, errorCode); mContext.sendBroadcast(intent); } private void sendLinkConfigurationChangedBroadcast() { Intent intent = new Intent(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION); intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); Loading Loading @@ -1381,6 +1391,14 @@ public class WifiStateMachine extends HierarchicalStateMachine { sendMessage(PASSWORD_MAY_BE_INCORRECT_EVENT); } /** * Send a notification that the supplicant has detected overlapped * WPS sessions */ void notifyWpsOverlap() { sendMessage(WPS_OVERLAP_EVENT); } /** * Send the tracker a notification that a connection to the supplicant * daemon has been established. Loading Loading @@ -1499,6 +1517,7 @@ public class WifiStateMachine extends HierarchicalStateMachine { case SCAN_RESULTS_EVENT: case SUPPLICANT_STATE_CHANGE_EVENT: case PASSWORD_MAY_BE_INCORRECT_EVENT: case WPS_OVERLAP_EVENT: case CMD_BLACKLIST_NETWORK: case CMD_CLEAR_BLACKLIST: case CMD_SET_SCAN_MODE: Loading Loading @@ -2042,6 +2061,7 @@ public class WifiStateMachine extends HierarchicalStateMachine { case NETWORK_CONNECTION_EVENT: case NETWORK_DISCONNECTION_EVENT: case PASSWORD_MAY_BE_INCORRECT_EVENT: case WPS_OVERLAP_EVENT: case CMD_SET_SCAN_TYPE: case CMD_SET_HIGH_PERF_MODE: case CMD_SET_COUNTRY_CODE: Loading Loading @@ -2276,6 +2296,10 @@ public class WifiStateMachine extends HierarchicalStateMachine { case PASSWORD_MAY_BE_INCORRECT_EVENT: mSupplicantStateTracker.sendMessage(PASSWORD_MAY_BE_INCORRECT_EVENT); break; case WPS_OVERLAP_EVENT: /* We just need to broadcast the error */ sendErrorBroadcast(WifiManager.WPS_OVERLAP_ERROR); break; case SUPPLICANT_STATE_CHANGE_EVENT: stateChangeResult = (StateChangeResult) message.obj; SupplicantState state = stateChangeResult.state; Loading