summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlesl <lesl@google.com>2020-08-13 14:46:06 +0800
committerlesl <lesl@google.com>2020-08-13 23:28:45 +0800
commit43a326cdb364a01a0bb2ab4d5076b3e6fe87a8bd (patch)
treed07e6d1f703f13f497f2242a9e5e2da9fd7eecbb
parent464e51527f37d6b0d945936e1f80017f0ad431da (diff)
wifi: Support SAE_TRANSITION when converting to WifiConfiguration
In android R, framework use SoftApConfiguratio to replace WifiConfiguration. The mapping function between WifiConfiguration and SoftApConfiguration was desinged to return Null when the type doesn't support in WifiConfiguration. Likes security type WPA3_SAE_TRANSITION. But it causes the app crash because unexpected Null config. Solution: Add the mapping, SAE_TRANSITION to WPA2, when converting to avoid break the legacy apps since WPA2 config also works normally when LOHS enabled on WPA3_SAE_TRANSITION mode. Bug: 163687359 Test: atest FrameworksWifiTests Test: atest frameworks/base/wifi/tests/ Test: atest -c android.net.wifi.cts.WifiManagerTest#testStartLocalOnlyHotspotSingleRequestByApps Change-Id: I6afba22e4081ba58884ffd1b560b81b1e9960132
-rw-r--r--wifi/java/android/net/wifi/SoftApConfiguration.java1
-rw-r--r--wifi/tests/src/android/net/wifi/SoftApConfigurationTest.java17
2 files changed, 12 insertions, 6 deletions
diff --git a/wifi/java/android/net/wifi/SoftApConfiguration.java b/wifi/java/android/net/wifi/SoftApConfiguration.java
index a5e76e6c92ee..d2ff658b59bc 100644
--- a/wifi/java/android/net/wifi/SoftApConfiguration.java
+++ b/wifi/java/android/net/wifi/SoftApConfiguration.java
@@ -533,6 +533,7 @@ public final class SoftApConfiguration implements Parcelable {
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
break;
case SECURITY_TYPE_WPA2_PSK:
+ case SECURITY_TYPE_WPA3_SAE_TRANSITION:
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA2_PSK);
break;
default:
diff --git a/wifi/tests/src/android/net/wifi/SoftApConfigurationTest.java b/wifi/tests/src/android/net/wifi/SoftApConfigurationTest.java
index 1a4427034756..d78c942d55e2 100644
--- a/wifi/tests/src/android/net/wifi/SoftApConfigurationTest.java
+++ b/wifi/tests/src/android/net/wifi/SoftApConfigurationTest.java
@@ -282,12 +282,6 @@ public class SoftApConfigurationTest {
.build();
assertNull(band_6g_config.toWifiConfiguration());
- SoftApConfiguration sae_transition_config = new SoftApConfiguration.Builder()
- .setPassphrase("secretsecret",
- SoftApConfiguration.SECURITY_TYPE_WPA3_SAE_TRANSITION)
- .build();
-
- assertNull(sae_transition_config.toWifiConfiguration());
}
@Test
@@ -330,5 +324,16 @@ public class SoftApConfigurationTest {
assertThat(wifiConfig_2g5g.apBand).isEqualTo(WifiConfiguration.AP_BAND_ANY);
assertThat(wifiConfig_2g5g.apChannel).isEqualTo(0);
assertThat(wifiConfig_2g5g.hiddenSSID).isEqualTo(true);
+
+ SoftApConfiguration softApConfig_sae_transition = new SoftApConfiguration.Builder()
+ .setPassphrase("secretsecret",
+ SoftApConfiguration.SECURITY_TYPE_WPA3_SAE_TRANSITION)
+ .build();
+
+ WifiConfiguration wifiConfig_sae_transition =
+ softApConfig_sae_transition.toWifiConfiguration();
+ assertThat(wifiConfig_sae_transition.getAuthType())
+ .isEqualTo(WifiConfiguration.KeyMgmt.WPA2_PSK);
+ assertThat(wifiConfig_sae_transition.preSharedKey).isEqualTo("secretsecret");
}
}