Browse Source

remove bssid compare

losion.liu@sikey.com.cn 11 months ago
parent
commit
a85fb7763e
1 changed files with 16 additions and 17 deletions
  1. 16 17
      app/src/main/java/com/xplora/xpsettings/Activity/WiFiActivity.java

+ 16 - 17
app/src/main/java/com/xplora/xpsettings/Activity/WiFiActivity.java

@@ -107,8 +107,7 @@ public class WiFiActivity extends BaseActivity {
                 int operation = data.getIntExtra("operation", -1);
                 WifiModel wifiModel = null;
                 for (WifiModel model : mDataList) {
-                    if (model.title.equals(data.getStringExtra("ssid")) &&
-                            model.BSSID.equals(data.getStringExtra("bssid"))) {
+                    if (model.title.equals(data.getStringExtra("ssid"))) {
                         wifiModel = model;
                         break;
                     }
@@ -121,10 +120,10 @@ public class WiFiActivity extends BaseActivity {
                 } else if (operation == OPERATE_CONNECT) {
                     wifiModel.status = WifiModel.STATUS.CONNECTING;
                     @SuppressLint("MissingPermission")
-                    List<WifiConfiguration> savedList = wifiManager.getConfiguredNetworks();
-                    for (WifiConfiguration ap : savedList) {
+                    List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
+                    for (WifiConfiguration ap : list) {
                         String ssid = ap.SSID;
-                        if (ssid.substring(1, ssid.length() - 1).equals(wifiModel.title) && ap.BSSID.equals(wifiModel.BSSID)) {
+                        if (ssid.substring(1, ssid.length() - 1).equals(wifiModel.title)) {
                             connect(ap, true);
                             break;
                         }
@@ -215,10 +214,11 @@ public class WiFiActivity extends BaseActivity {
             WifiConfiguration wifiConfiguration = savedAp.get(i);
             String bssid = wifiConfiguration.BSSID;
             String ssid = wifiConfiguration.SSID;
-            if (bssid == null || (connected != null && bssid.equals(connected.getBSSID()))) {
+            if (ssid.trim().isEmpty() || ssid.contains("<unknown ssid>")) {
                 continue;
             }
-            if (ssid.trim().isEmpty() || ssid.contains("<unknown ssid>")) {
+
+            if (connected != null && ssid.equals(connected.getSSID())) {
                 continue;
             }
 
@@ -235,18 +235,15 @@ public class WiFiActivity extends BaseActivity {
             }
             savedModel.BSSID = bssid;
             mDataList.add(savedModel);
-            savedList.add(bssid);
+            savedList.add(ssid);
         }
 
         if (list != null && !list.isEmpty()) {
             for (ScanResult result : list) {
-                if (result.BSSID == null) {
-                    continue;
-                }
-                if (connected != null && connected.getBSSID() != null && connected.getBSSID().equals(result.BSSID)) {
+                if (connected != null && connected.getSSID() != null && connected.getSSID().equals(result.SSID)) {
                     continue;
                 }
-                if (!savedList.isEmpty() && savedList.contains(result.BSSID)) {
+                if (!savedList.isEmpty() && savedList.contains(result.SSID)) {
                     continue;
                 }
                 if (!is24GHzWifi(result.frequency)) {
@@ -264,7 +261,7 @@ public class WiFiActivity extends BaseActivity {
                 wifiModel.status = WifiModel.STATUS.NA;
                 wifiModel.BSSID = result.BSSID;
                 String capabilities = result.capabilities.trim();
-                if (connected != null && connected.getBSSID().equals(result.BSSID)) {
+                if (connected != null && connected.getSSID().equals(result.SSID)) {
                     wifiModel.status = WifiModel.STATUS.CONNECTED;
                 } else if (capabilities.isEmpty() || capabilities.equals("[ESS]")) {
                     wifiModel.status = WifiModel.STATUS.OPEN;
@@ -405,7 +402,7 @@ public class WiFiActivity extends BaseActivity {
     private void disConnect(WifiModel model) {
         for (WifiConfiguration configuration : wifiManager.getConfiguredNetworks()) {
             String ssid = configuration.SSID;
-            if (model.title.equals(ssid.substring(1, ssid.length() - 1)) && model.BSSID.equals(configuration.BSSID)) {
+            if (model.title.equals(ssid.substring(1, ssid.length() - 1))) {
            // wifiManager.enableNetwork(configuration.networkId, false);
             boolean isDisable = wifiManager.disableNetwork (configuration.networkId);
             if(isDisable)
@@ -460,10 +457,12 @@ public class WiFiActivity extends BaseActivity {
 
     @SuppressLint("MissingPermission")
     private void forget(WifiModel model) {
+        Log.d(TAG, "forget: " + model.title);
         for (WifiConfiguration configuration : wifiManager.getConfiguredNetworks()) {
             String ssid = configuration.SSID;
-            if (model.title.equals(ssid.substring(1, ssid.length() - 1)) && model.BSSID.equals(configuration.BSSID)) {
-                wifiManager.removeNetwork(configuration.networkId);
+            if (model.title.equals(ssid.substring(1, ssid.length() - 1))) {
+                boolean isOk = wifiManager.removeNetwork(configuration.networkId);
+                Log.d(TAG, "forget result:" + isOk);
                 removeNetWorkId(configuration.networkId);
                 break;
             }