diff options
Diffstat (limited to 'wifi/java/android')
-rw-r--r-- | wifi/java/android/net/wifi/WifiNative.java | 3 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/WifiStateMachine.java | 9 |
2 files changed, 7 insertions, 5 deletions
diff --git a/wifi/java/android/net/wifi/WifiNative.java b/wifi/java/android/net/wifi/WifiNative.java index 9e77b8c..95d3041 100644 --- a/wifi/java/android/net/wifi/WifiNative.java +++ b/wifi/java/android/net/wifi/WifiNative.java @@ -210,13 +210,14 @@ public class WifiNative { * age=2623 * flags=[WPA2-PSK-CCMP][WPS][ESS] * ssid=zubyb + * ==== * * RANGE=ALL gets all scan results * RANGE=ID- gets results from ID * MASK=<N> see wpa_supplicant/src/common/wpa_ctrl.h for details */ public String scanResults(int sid) { - return doStringCommand("BSS RANGE=" + sid + "- MASK=0x1987"); + return doStringCommand("BSS RANGE=" + sid + "- MASK=0x21987"); } public boolean startDriver() { diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 28f6bb2..900a38a 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -1378,7 +1378,7 @@ public class WifiStateMachine extends StateMachine { private static final String FLAGS_STR = "flags="; private static final String SSID_STR = "ssid="; private static final String DELIMITER_STR = "===="; - private static final int SCAN_BUF_RANGE = 3900; + private static final String END_STR = "####"; /** * Format: @@ -1417,11 +1417,12 @@ public class WifiStateMachine extends StateMachine { if (TextUtils.isEmpty(tmpResults)) break; scanResultsBuf.append(tmpResults); scanResultsBuf.append("\n"); - if (tmpResults.length() < SCAN_BUF_RANGE) break; String[] lines = tmpResults.split("\n"); sid = -1; for (int i=lines.length - 1; i >= 0; i--) { - if (lines[i].startsWith(ID_STR)) { + if (lines[i].startsWith(END_STR)) { + break; + } else if (lines[i].startsWith(ID_STR)) { try { sid = Integer.parseInt(lines[i].substring(ID_STR.length())) + 1; } catch (NumberFormatException e) { @@ -1472,7 +1473,7 @@ public class WifiStateMachine extends StateMachine { } else if (line.startsWith(SSID_STR)) { wifiSsid = WifiSsid.createFromAsciiEncoded( line.substring(SSID_STR.length())); - } else if (line.startsWith(DELIMITER_STR)) { + } else if (line.startsWith(DELIMITER_STR) || line.startsWith(END_STR)) { if (bssid != null) { String ssid = (wifiSsid != null) ? wifiSsid.toString() : WifiSsid.NONE; String key = bssid + ssid; |