diff options
author | Roshan Pius <rpius@google.com> | 2016-03-03 16:45:50 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2016-03-06 20:28:24 -0800 |
commit | ef3ea1092bc17673c0a85a845b053151b7c10e07 (patch) | |
tree | d371c1d93680e019d6c4abb789bc57143745b958 | |
parent | 9153bd67d51b305ffdd61355e0748e3c332c2caf (diff) |
PNO: Bugfixes in WifiNative
Fix coupke of bugs in the |setPnoListNative| API found in manual testing
of startPnoScan/stopPnoScan testing.
BUG: 27167559
Change-Id: I1e2f8167fbee6db2401fdc918cd46f7d9d594bff
TEST: Compiles & unit-test passes & manual testing of Scanner API
4 files changed, 12 insertions, 13 deletions
diff --git a/service/java/com/android/server/wifi/WifiNative.java b/service/java/com/android/server/wifi/WifiNative.java index 9c37f5c7c..d57f5d67a 100644 --- a/service/java/com/android/server/wifi/WifiNative.java +++ b/service/java/com/android/server/wifi/WifiNative.java @@ -1788,7 +1788,7 @@ public class WifiNative { public int networkId; public int priority; public byte flags; - public byte auth; + public byte auth_bit_field; public String configKey; // kept for reference /** @@ -1812,12 +1812,12 @@ public class WifiNative { ssid = config.SSID; } if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_PSK)) { - auth |= WifiScanner.PnoSettings.PnoNetwork.AUTH_CODE_PSK; + auth_bit_field |= WifiScanner.PnoSettings.PnoNetwork.AUTH_CODE_PSK; } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_EAP) || config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.IEEE8021X)) { - auth |= WifiScanner.PnoSettings.PnoNetwork.AUTH_CODE_EAPOL; + auth_bit_field |= WifiScanner.PnoSettings.PnoNetwork.AUTH_CODE_EAPOL; } else { - auth |= WifiScanner.PnoSettings.PnoNetwork.AUTH_CODE_OPEN; + auth_bit_field |= WifiScanner.PnoSettings.PnoNetwork.AUTH_CODE_OPEN; } flags = WifiScanner.PnoSettings.PnoNetwork.FLAG_A_BAND; flags |= WifiScanner.PnoSettings.PnoNetwork.FLAG_G_BAND; diff --git a/service/java/com/android/server/wifi/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/WifiScanningServiceImpl.java index 6b1c92633..6263a9af3 100644 --- a/service/java/com/android/server/wifi/WifiScanningServiceImpl.java +++ b/service/java/com/android/server/wifi/WifiScanningServiceImpl.java @@ -1034,7 +1034,8 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub { nativePnoSetting.networkList[i].networkId = pnoSettings.networkList[i].networkId; nativePnoSetting.networkList[i].priority = pnoSettings.networkList[i].priority; nativePnoSetting.networkList[i].flags = pnoSettings.networkList[i].flags; - nativePnoSetting.networkList[i].auth = pnoSettings.networkList[i].authBitField; + nativePnoSetting.networkList[i].auth_bit_field = + pnoSettings.networkList[i].authBitField; } return nativePnoSetting; } diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java index 6656dff77..77cdc687e 100644 --- a/service/java/com/android/server/wifi/WifiStateMachine.java +++ b/service/java/com/android/server/wifi/WifiStateMachine.java @@ -3489,7 +3489,7 @@ public class WifiStateMachine extends StateMachine implements WifiNative.PnoEven if (true) { StringBuilder sb = new StringBuilder(); for (WifiNative.PnoNetwork network : list) { - sb.append("[").append(network.ssid).append(" auth=").append(network.auth); + sb.append("[").append(network.ssid).append(" auth=").append(network.auth_bit_field); sb.append(" flags="); sb.append(network.flags); sb.append("] "); diff --git a/service/jni/com_android_server_wifi_WifiNative.cpp b/service/jni/com_android_server_wifi_WifiNative.cpp index c4f94df64..4394e7a9c 100644 --- a/service/jni/com_android_server_wifi_WifiNative.cpp +++ b/service/jni/com_android_server_wifi_WifiNative.cpp @@ -1905,7 +1905,7 @@ static jboolean android_net_wifi_setPnoListNative( } JNIObject<jobjectArray> list = helper.getArrayField(settings, "networkList", - "[Lcom/android/server/wifi/WifiNative$PnoNetwork"); + "[Lcom/android/server/wifi/WifiNative$PnoNetwork;"); if (list == NULL) { return false; } @@ -1956,12 +1956,10 @@ static jboolean android_net_wifi_setPnoListNative( } memcpy(params.networks[i].ssid, ssid, ssid_len); - int a = helper.getIntField(pno_net, "auth"); - params.networks[i].auth_bit_field = a; - int f = helper.getIntField(pno_net, "flags"); - params.networks[i].flags = f; - ALOGD(" setPnoListNative: idx %u auth %x/%x flags %x/%x [%s]", i, - params.networks[i].auth_bit_field, a, params.networks[i].flags, f, + params.networks[i].auth_bit_field = helper.getByteField(pno_net, "auth_bit_field"); + params.networks[i].flags = helper.getByteField(pno_net, "flags"); + ALOGD(" setPnoListNative: idx %u auth %x flags %x [%s]", i, + params.networks[i].auth_bit_field, params.networks[i].flags, params.networks[i].ssid); } params.min5GHz_rssi = helper.getIntField(settings, "min5GHzRssi"); |