Fixed unable to enable hotspot with Security None

- Due to the design adjustment, the default value of SoftApConfiguration is not Security None, so the update of Security None cannot be omitted.

Bug: 283762826
Test: Manual test
atest -c WifiTetherSettingsTest

Change-Id: I07d18b8f73ab8190152332c01814a4bd72cf28d6
This commit is contained in:
Weng Su
2023-05-26 12:26:31 +08:00
parent 71dd391e4d
commit f7d8f0481d
2 changed files with 38 additions and 10 deletions

View File

@@ -84,8 +84,10 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
WifiTetherSSIDPreferenceController mSSIDPreferenceController;
@VisibleForTesting
WifiTetherPasswordPreferenceController mPasswordPreferenceController;
private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
@VisibleForTesting
WifiTetherSecurityPreferenceController mSecurityPreferenceController;
@VisibleForTesting
WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
@VisibleForTesting
WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
@@ -276,15 +278,16 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
SoftApConfiguration buildNewConfig() {
SoftApConfiguration currentConfig = mWifiTetherViewModel.getSoftApConfiguration();
SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder(currentConfig);
int securityType = (mWifiTetherViewModel.isSpeedFeatureAvailable())
? currentConfig.getSecurityType()
: mSecurityPreferenceController.getSecurityType();
configBuilder.setSsid(mSSIDPreferenceController.getSSID());
if (securityType != SoftApConfiguration.SECURITY_TYPE_OPEN) {
configBuilder.setPassphrase(
mPasswordPreferenceController.getPasswordValidated(securityType),
securityType);
}
int securityType =
mWifiTetherViewModel.isSpeedFeatureAvailable()
? currentConfig.getSecurityType()
: mSecurityPreferenceController.getSecurityType();
String passphrase =
securityType == SoftApConfiguration.SECURITY_TYPE_OPEN
? null
: mPasswordPreferenceController.getPasswordValidated(securityType);
configBuilder.setPassphrase(passphrase, securityType);
if (!mWifiTetherViewModel.isSpeedFeatureAvailable()) {
mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
}