summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLes Lee <lesl@google.com>2020-06-21 06:58:20 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-06-21 06:58:20 +0000
commit6ea82ec26afa0d8b72ccc84b9d644c1e539fd5d5 (patch)
tree45b056982b257ecd08f3019976a6668f1457e196
parentf7f52f8ced193995381e6d3be4cbde85b5021aa5 (diff)
parent231eea1a1d10e0e23b4a86241b2464c4c36cd7f1 (diff)
Merge "wifi: Add new overlay to control reset channel config." into rvc-dev
-rw-r--r--service/java/com/android/server/wifi/WifiApConfigStore.java10
-rw-r--r--service/res/values/config.xml3
-rw-r--r--service/res/values/overlayable.xml1
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java5
4 files changed, 19 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/WifiApConfigStore.java b/service/java/com/android/server/wifi/WifiApConfigStore.java
index 4921f8c7d..961cbbd3b 100644
--- a/service/java/com/android/server/wifi/WifiApConfigStore.java
+++ b/service/java/com/android/server/wifi/WifiApConfigStore.java
@@ -183,6 +183,16 @@ public class WifiApConfigStore {
SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
Log.e(TAG, "Device doesn't support WPA3-SAE, reset config to WPA2");
}
+
+ if (mContext.getResources().getBoolean(R.bool.config_wifiSoftapResetChannelConfig)) {
+ // The device might not support customize channel or forced channel might not
+ // work in some countries. Need to reset it.
+ if (config.getChannel() != 0) {
+ // Add 2.4G by default
+ configBuilder.setBand(SoftApConfiguration.BAND_2GHZ | config.getBand());
+ Log.i(TAG, "Reset SAP channel configuration");
+ }
+ }
mWifiMetrics.noteSoftApConfigReset(config, configBuilder.build());
return configBuilder.build();
}
diff --git a/service/res/values/config.xml b/service/res/values/config.xml
index ad454c10a..7e35eed19 100644
--- a/service/res/values/config.xml
+++ b/service/res/values/config.xml
@@ -137,6 +137,9 @@
<!-- Integer indicating maximum hardware supported client number of soft ap -->
<integer translatable="false" name="config_wifiHardwareSoftapMaxClientCount">16</integer>
+ <!-- boolean indicating whether reset channel configuration or not during cloud configuration restore -->
+ <bool translatable="false" name ="config_wifiSoftapResetChannelConfig">true</bool>
+
<!-- List of allowed channels in 2GHz band for softap. If the device doesn't want to restrict
channels this should be empty. Values is a comma separated channel string and/or channel
range string like '1-6,11'. -->
diff --git a/service/res/values/overlayable.xml b/service/res/values/overlayable.xml
index cab5bbfb4..bf96fde62 100644
--- a/service/res/values/overlayable.xml
+++ b/service/res/values/overlayable.xml
@@ -57,6 +57,7 @@
<item type="integer" name="config_wifiFrameworkScoreLowRssiThreshold6ghz" />
<item type="integer" name="config_wifiFrameworkScoreGoodRssiThreshold6ghz" />
<item type="integer" name="config_wifiFrameworkSoftApShutDownTimeoutMilliseconds" />
+ <item type="bool" name="config_wifiSoftapResetChannelConfig" />
<item type="string" name="config_wifiSoftap2gChannelList" />
<item type="string" name="config_wifiSoftap5gChannelList" />
<item type="string" name="config_wifiSoftap6gChannelList" />
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java b/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java
index 50fd4d8c1..bc646c1eb 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java
@@ -661,16 +661,21 @@ public class WifiApConfigStoreTest extends WifiBaseTest {
public void testResetToDefaultForUnsupportedConfig() throws Exception {
mResources.setBoolean(R.bool.config_wifiSofapClientForceDisconnectSupported, false);
mResources.setBoolean(R.bool.config_wifi_softap_sae_supported, false);
+ mResources.setBoolean(R.bool.config_wifiSoftapResetChannelConfig, true);
SoftApConfiguration sae_config = new SoftApConfiguration.Builder()
.setPassphrase("secretsecret", SoftApConfiguration.SECURITY_TYPE_WPA3_SAE)
.setMaxNumberOfClients(10)
.setClientControlByUserEnabled(true)
+ .setChannel(149, SoftApConfiguration.BAND_5GHZ)
.build();
WifiApConfigStore store = createWifiApConfigStore();
SoftApConfiguration resetedConfig = store.resetToDefaultForUnsupportedConfig(sae_config);
assertEquals(resetedConfig.getMaxNumberOfClients(), 0);
assertFalse(resetedConfig.isClientControlByUserEnabled());
+ assertEquals(resetedConfig.getChannel(), 0);
+ assertEquals(resetedConfig.getBand(),
+ SoftApConfiguration.BAND_2GHZ | SoftApConfiguration.BAND_5GHZ);
verify(mWifiMetrics).noteSoftApConfigReset(sae_config, resetedConfig);
}