diff options
3 files changed, 22 insertions, 2 deletions
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java index 14b433e7c..246c7b36a 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java @@ -288,6 +288,14 @@ public class StandardWifiEntry extends WifiEntry { } @Override + public boolean needsWifiConfiguration() { + List<Integer> securityTypes = getSecurityTypes(); + return !isSaved() && !isSuggestion() + && !securityTypes.contains(SECURITY_TYPE_OPEN) + && !securityTypes.contains(SECURITY_TYPE_OWE); + } + + @Override @Nullable public synchronized WifiConfiguration getWifiConfiguration() { if (!isSaved()) { diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java index 814e08b4c..09dfd89e3 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java @@ -494,6 +494,14 @@ public class WifiEntry { } /** + * Returns whether this entry needs to be configured with a new WifiConfiguration before + * connection. + */ + public boolean needsWifiConfiguration() { + return false; + } + + /** * Returns the WifiConfiguration of an entry or null if unavailable. This should be used when * information on the WifiConfiguration needs to be modified and saved via * {@link WifiManager#save(WifiConfiguration, WifiManager.ActionListener)}. diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java index ebb24d987..6cfde1907 100644 --- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java +++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java @@ -345,7 +345,7 @@ public class StandardWifiEntryTest { ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP), null, Arrays.asList(scan), mMockWifiManager, false /* forSavedNetworksPage */); - + assertThat(entry.needsWifiConfiguration()).isTrue(); assertThat(entry.isSaved()).isFalse(); final WifiConfiguration config = new WifiConfiguration(); @@ -354,6 +354,7 @@ public class StandardWifiEntryTest { config.networkId = 1; entry.updateConfig(Collections.singletonList(config)); + assertThat(entry.needsWifiConfiguration()).isFalse(); assertThat(entry.isSaved()).isTrue(); } @@ -368,11 +369,12 @@ public class StandardWifiEntryTest { ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP), Collections.singletonList(config), null, mMockWifiManager, false /* forSavedNetworksPage */); - + assertThat(entry.needsWifiConfiguration()).isFalse(); assertThat(entry.isSaved()).isTrue(); entry.updateConfig(null); + assertThat(entry.needsWifiConfiguration()).isTrue(); assertThat(entry.isSaved()).isFalse(); } @@ -533,6 +535,8 @@ public class StandardWifiEntryTest { ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN), null, Arrays.asList(buildScanResult("ssid", "bssid0", 0, TestUtils.GOOD_RSSI)), mMockWifiManager, false /* forSavedNetworksPage */); + assertThat(entry.needsWifiConfiguration()).isFalse(); + assertThat(entry.isSaved()).isFalse(); entry.connect(null /* ConnectCallback */); |