diff options
-rw-r--r-- | wifi/java/android/net/wifi/WifiConfiguration.java | 11 | ||||
-rw-r--r-- | wifi/tests/src/android/net/wifi/WifiConfigurationTest.java | 30 |
2 files changed, 41 insertions, 0 deletions
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index b110a6139429..71f0ab8087ab 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -2973,4 +2973,15 @@ public class WifiConfiguration implements Parcelable { */ public boolean isMostRecentlyConnected = false; + /** + * Whether the key mgmt indicates if the WifiConfiguration needs a preSharedKey or not. + * @return true if preSharedKey is needed, false otherwise. + * @hide + */ + public boolean needsPreSharedKey() { + return allowedKeyManagement.get(KeyMgmt.WPA_PSK) + || allowedKeyManagement.get(KeyMgmt.SAE) + || allowedKeyManagement.get(KeyMgmt.WAPI_PSK); + } + } diff --git a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java index e210e4fec98e..a7b6765e886a 100644 --- a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +++ b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java @@ -16,9 +16,13 @@ package android.net.wifi; +import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_EAP; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B; +import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OPEN; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OWE; +import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_PSK; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_SAE; +import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_WAPI_PSK; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -507,4 +511,30 @@ public class WifiConfigurationTest { assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status2.getNetworkSelectionStatus()); } + + @Test + public void testNeedsPreSharedKey() throws Exception { + WifiConfiguration configuration = new WifiConfiguration(); + + configuration.setSecurityParams(SECURITY_TYPE_PSK); + assertTrue(configuration.needsPreSharedKey()); + + configuration.setSecurityParams(SECURITY_TYPE_SAE); + assertTrue(configuration.needsPreSharedKey()); + + configuration.setSecurityParams(SECURITY_TYPE_WAPI_PSK); + assertTrue(configuration.needsPreSharedKey()); + + configuration.setSecurityParams(SECURITY_TYPE_OPEN); + assertFalse(configuration.needsPreSharedKey()); + + configuration.setSecurityParams(SECURITY_TYPE_OWE); + assertFalse(configuration.needsPreSharedKey()); + + configuration.setSecurityParams(SECURITY_TYPE_EAP); + assertFalse(configuration.needsPreSharedKey()); + + configuration.setSecurityParams(SECURITY_TYPE_EAP_SUITE_B); + assertFalse(configuration.needsPreSharedKey()); + } } |