private void updateAccessPoints(List<ScanResult> scanResultList) { List<WifiAccessPoint> accessPoints = new ArrayList<WifiAccessPoint>(); WifiInfo wifiInfo = mWifiManager.getConnectionInfo(); int ip = wifiInfo.getIpAddress(); String ssid = wifiInfo.getSSID(); List<ScanResult> results = scanResultList; if (results != null) { for (ScanResult result : results) { if (result.SSID == null || result.SSID.length() == 0 || result.capabilities.contains("[IBSS]")) { continue; } boolean found = false; for (WifiAccessPoint accessPoint : accessPoints) { if (accessPoint.update(result)) { found = true; } } if (!found) { WifiAccessPoint accessPoint = new WifiAccessPoint(result); ssid = WifiUtil.removeDoubleQuotes(ssid); if (ssid != null && result.SSID.compareTo(ssid) == 0 && ip > 0) { accessPoint.setConnectStatus(WifiConst.CONNCETED); } accessPoints.add(accessPoint); } } } mAccessPoints = accessPoints; }
protected WifiAccessPoint(WifiConfiguration config) { ssid = (config.SSID == null ? "" : WifiUtil.removeDoubleQuotes(config.SSID)); security = WifiUtil.getSecurity(config); networkId = config.networkId; mConfig = config; mRssi = Integer.MAX_VALUE; }