From ef3ea1092bc17673c0a85a845b053151b7c10e07 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Thu, 3 Mar 2016 16:45:50 -0800 Subject: 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 --- service/java/com/android/server/wifi/WifiNative.java | 8 ++++---- .../com/android/server/wifi/WifiScanningServiceImpl.java | 3 ++- service/java/com/android/server/wifi/WifiStateMachine.java | 2 +- service/jni/com_android_server_wifi_WifiNative.cpp | 12 +++++------- 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 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"); -- cgit v1.2.3