Merge "Fixed unable to enable hotspot with Security None" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
52d2daf3b3
@@ -84,8 +84,10 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
|
|||||||
WifiTetherSSIDPreferenceController mSSIDPreferenceController;
|
WifiTetherSSIDPreferenceController mSSIDPreferenceController;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
WifiTetherPasswordPreferenceController mPasswordPreferenceController;
|
WifiTetherPasswordPreferenceController mPasswordPreferenceController;
|
||||||
private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
|
@VisibleForTesting
|
||||||
private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
|
WifiTetherSecurityPreferenceController mSecurityPreferenceController;
|
||||||
|
@VisibleForTesting
|
||||||
|
WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
|
WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
|
||||||
|
|
||||||
@@ -276,15 +278,16 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
|
|||||||
SoftApConfiguration buildNewConfig() {
|
SoftApConfiguration buildNewConfig() {
|
||||||
SoftApConfiguration currentConfig = mWifiTetherViewModel.getSoftApConfiguration();
|
SoftApConfiguration currentConfig = mWifiTetherViewModel.getSoftApConfiguration();
|
||||||
SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder(currentConfig);
|
SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder(currentConfig);
|
||||||
int securityType = (mWifiTetherViewModel.isSpeedFeatureAvailable())
|
|
||||||
? currentConfig.getSecurityType()
|
|
||||||
: mSecurityPreferenceController.getSecurityType();
|
|
||||||
configBuilder.setSsid(mSSIDPreferenceController.getSSID());
|
configBuilder.setSsid(mSSIDPreferenceController.getSSID());
|
||||||
if (securityType != SoftApConfiguration.SECURITY_TYPE_OPEN) {
|
int securityType =
|
||||||
configBuilder.setPassphrase(
|
mWifiTetherViewModel.isSpeedFeatureAvailable()
|
||||||
mPasswordPreferenceController.getPasswordValidated(securityType),
|
? currentConfig.getSecurityType()
|
||||||
securityType);
|
: mSecurityPreferenceController.getSecurityType();
|
||||||
}
|
String passphrase =
|
||||||
|
securityType == SoftApConfiguration.SECURITY_TYPE_OPEN
|
||||||
|
? null
|
||||||
|
: mPasswordPreferenceController.getPasswordValidated(securityType);
|
||||||
|
configBuilder.setPassphrase(passphrase, securityType);
|
||||||
if (!mWifiTetherViewModel.isSpeedFeatureAvailable()) {
|
if (!mWifiTetherViewModel.isSpeedFeatureAvailable()) {
|
||||||
mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
|
mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.wifi.tether;
|
package com.android.settings.wifi.tether;
|
||||||
|
|
||||||
|
import static android.net.wifi.SoftApConfiguration.SECURITY_TYPE_OPEN;
|
||||||
import static android.net.wifi.SoftApConfiguration.SECURITY_TYPE_WPA3_SAE;
|
import static android.net.wifi.SoftApConfiguration.SECURITY_TYPE_WPA3_SAE;
|
||||||
import static android.view.View.INVISIBLE;
|
import static android.view.View.INVISIBLE;
|
||||||
import static android.view.View.VISIBLE;
|
import static android.view.View.VISIBLE;
|
||||||
@@ -125,9 +126,13 @@ public class WifiTetherSettingsTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private WifiTetherSSIDPreferenceController mSSIDPreferenceController;
|
private WifiTetherSSIDPreferenceController mSSIDPreferenceController;
|
||||||
@Mock
|
@Mock
|
||||||
|
private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
|
||||||
|
@Mock
|
||||||
private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
|
private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
|
||||||
@Mock
|
@Mock
|
||||||
private WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
|
private WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
|
||||||
|
@Mock
|
||||||
|
private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
|
||||||
|
|
||||||
private WifiTetherSettings mSettings;
|
private WifiTetherSettings mSettings;
|
||||||
|
|
||||||
@@ -156,10 +161,13 @@ public class WifiTetherSettingsTest {
|
|||||||
mSettings.mMainSwitchBar = mMainSwitchBar;
|
mSettings.mMainSwitchBar = mMainSwitchBar;
|
||||||
mSettings.mSSIDPreferenceController = mSSIDPreferenceController;
|
mSettings.mSSIDPreferenceController = mSSIDPreferenceController;
|
||||||
when(mSSIDPreferenceController.getSSID()).thenReturn(SSID);
|
when(mSSIDPreferenceController.getSSID()).thenReturn(SSID);
|
||||||
|
mSettings.mSecurityPreferenceController = mSecurityPreferenceController;
|
||||||
|
when(mSecurityPreferenceController.getSecurityType()).thenReturn(SECURITY_TYPE_WPA3_SAE);
|
||||||
mSettings.mPasswordPreferenceController = mPasswordPreferenceController;
|
mSettings.mPasswordPreferenceController = mPasswordPreferenceController;
|
||||||
when(mPasswordPreferenceController.getPasswordValidated(anyInt())).thenReturn(PASSWORD);
|
when(mPasswordPreferenceController.getPasswordValidated(anyInt())).thenReturn(PASSWORD);
|
||||||
mSettings.mWifiTetherAutoOffPreferenceController = mWifiTetherAutoOffPreferenceController;
|
mSettings.mWifiTetherAutoOffPreferenceController = mWifiTetherAutoOffPreferenceController;
|
||||||
when(mWifiTetherAutoOffPreferenceController.isEnabled()).thenReturn(true);
|
when(mWifiTetherAutoOffPreferenceController.isEnabled()).thenReturn(true);
|
||||||
|
mSettings.mMaxCompatibilityPrefController = mMaxCompatibilityPrefController;
|
||||||
mSettings.mWifiTetherViewModel = mWifiTetherViewModel;
|
mSettings.mWifiTetherViewModel = mWifiTetherViewModel;
|
||||||
when(mSettings.findPreference(KEY_WIFI_HOTSPOT_SECURITY)).thenReturn(mWifiHotspotSecurity);
|
when(mSettings.findPreference(KEY_WIFI_HOTSPOT_SECURITY)).thenReturn(mWifiHotspotSecurity);
|
||||||
when(mSettings.findPreference(KEY_WIFI_HOTSPOT_SPEED)).thenReturn(mWifiHotspotSpeed);
|
when(mSettings.findPreference(KEY_WIFI_HOTSPOT_SPEED)).thenReturn(mWifiHotspotSpeed);
|
||||||
@@ -359,6 +367,23 @@ public class WifiTetherSettingsTest {
|
|||||||
assertThat(newConfig.getBand()).isEqualTo(currentConfig.getBand());
|
assertThat(newConfig.getBand()).isEqualTo(currentConfig.getBand());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void buildNewConfig_securityTypeChangeToOpen_setSecurityTypeCorrectly() {
|
||||||
|
SoftApConfiguration currentConfig = new SoftApConfiguration.Builder()
|
||||||
|
.setPassphrase(PASSWORD, SECURITY_TYPE_WPA3_SAE)
|
||||||
|
.setBand(BAND_2GHZ_5GHZ_6GHZ)
|
||||||
|
.build();
|
||||||
|
when(mWifiTetherViewModel.getSoftApConfiguration()).thenReturn(currentConfig);
|
||||||
|
when(mWifiTetherViewModel.isSpeedFeatureAvailable()).thenReturn(false);
|
||||||
|
doNothing().when(mMaxCompatibilityPrefController)
|
||||||
|
.setupMaximizeCompatibility(any(SoftApConfiguration.Builder.class));
|
||||||
|
|
||||||
|
when(mSecurityPreferenceController.getSecurityType()).thenReturn(SECURITY_TYPE_OPEN);
|
||||||
|
SoftApConfiguration newConfig = mSettings.buildNewConfig();
|
||||||
|
|
||||||
|
assertThat(newConfig.getSecurityType()).isEqualTo(SECURITY_TYPE_OPEN);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onRestartingChanged_restartingFalse_setLoadingFalse() {
|
public void onRestartingChanged_restartingFalse_setLoadingFalse() {
|
||||||
doNothing().when(mSettings).setLoading(anyBoolean(), anyBoolean());
|
doNothing().when(mSettings).setLoading(anyBoolean(), anyBoolean());
|
||||||
|
Reference in New Issue
Block a user