diff options
author | Les Lee <lesl@google.com> | 2020-06-21 06:58:20 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-06-21 06:58:20 +0000 |
commit | 6ea82ec26afa0d8b72ccc84b9d644c1e539fd5d5 (patch) | |
tree | 45b056982b257ecd08f3019976a6668f1457e196 | |
parent | f7f52f8ced193995381e6d3be4cbde85b5021aa5 (diff) | |
parent | 231eea1a1d10e0e23b4a86241b2464c4c36cd7f1 (diff) |
Merge "wifi: Add new overlay to control reset channel config." into rvc-dev
-rw-r--r-- | service/java/com/android/server/wifi/WifiApConfigStore.java | 10 | ||||
-rw-r--r-- | service/res/values/config.xml | 3 | ||||
-rw-r--r-- | service/res/values/overlayable.xml | 1 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java | 5 |
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); } |