From 05d1af456aed6220adce73e9781c08c74e176b3e Mon Sep 17 00:00:00 2001 From: Sravanthi Palakonda Date: Thu, 23 Jul 2015 20:58:43 +0530 Subject: Wifi: Maintain configKey generation logic same in all APIs AutoJoinController uses configKey to distinguish networks. It compares configKeys of saved network with recent ScanResult. WifiConfiguration has two different APIs to generate configKey based on input variables. Framework should use same logic to generate configkey even though input differs. This fix ensures the parity between configKey(boolean) and configKey(ScanResult) APIs. Change-Id: I0b0adacafaa656cbf96f24f178f99596162b155a --- wifi/java/android/net/wifi/WifiConfiguration.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'wifi/java/android/net/wifi/WifiConfiguration.java') diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index dc329e2..4cbf537 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -1325,14 +1325,14 @@ public class WifiConfiguration implements Parcelable { key = FQDN + KeyMgmt.strings[KeyMgmt.WPA_EAP]; } else { if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { - key = SSID + KeyMgmt.strings[KeyMgmt.WPA_PSK]; + key = SSID + "-" + KeyMgmt.strings[KeyMgmt.WPA_PSK]; } else if (allowedKeyManagement.get(KeyMgmt.WPA_EAP) || allowedKeyManagement.get(KeyMgmt.IEEE8021X)) { - key = SSID + KeyMgmt.strings[KeyMgmt.WPA_EAP]; + key = SSID + "-" + KeyMgmt.strings[KeyMgmt.WPA_EAP]; } else if (wepKeys[0] != null) { - key = SSID + "WEP"; + key = SSID + "-WEP"; } else { - key = SSID + KeyMgmt.strings[KeyMgmt.NONE]; + key = SSID + "-" + KeyMgmt.strings[KeyMgmt.NONE]; } mCachedConfigKey = key; } @@ -1354,17 +1354,16 @@ public class WifiConfiguration implements Parcelable { if (result.capabilities.contains("WEP")) { key = key + "-WEP"; - } - - if (result.capabilities.contains("PSK")) { + } else if (result.capabilities.contains("PSK")) { key = key + "-" + KeyMgmt.strings[KeyMgmt.WPA_PSK]; - } - - if (result.capabilities.contains("EAP")) { + } else if (result.capabilities.contains("EAP")|| + result.capabilities.contains("IEEE8021X")) { key = key + "-" + KeyMgmt.strings[KeyMgmt.WPA_EAP]; + } else { + key = key +"-" + KeyMgmt.strings[KeyMgmt.NONE]; } - return key; + return key; } /** @hide */ -- cgit v1.1