Fix forget button on wifi details page.
- Corrected logic for forgetting the current network in the network details page - After a user has forgotten a network, the button becomes disabled (TODO final UX on this - go/remaining-wifi-picker-work tracks this) - Added unit tests for forgetting network flow - Fixed bug where the current tethering WifiConfiguration was associated with the currrent network Bug: 36458941 Test: m RunSettingsRoboTests Change-Id: Ie3c4bae8b295908b17179e60359c8bc599519744
This commit is contained in:
@@ -84,8 +84,6 @@ public class WifiDetailPreferenceControllerTest {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
mLifecycle = new Lifecycle();
|
||||
mController = new WifiDetailPreferenceController(
|
||||
mockAccessPoint, mContext, mLifecycle, mockWifiManager);
|
||||
|
||||
when(mockAccessPoint.getConfig()).thenReturn(mockWifiConfig);
|
||||
when(mockAccessPoint.getLevel()).thenReturn(LEVEL);
|
||||
@@ -93,11 +91,13 @@ public class WifiDetailPreferenceControllerTest {
|
||||
when(mockAccessPoint.getRssi()).thenReturn(RSSI);
|
||||
when(mockAccessPoint.getSecurityString(false)).thenReturn(SECURITY);
|
||||
|
||||
mController = new WifiDetailPreferenceController(
|
||||
mockAccessPoint, mContext, mLifecycle, mockWifiManager);
|
||||
|
||||
setupMockedPreferenceScreen();
|
||||
|
||||
when (mockWifiInfo.getRssi()).thenReturn(RSSI);
|
||||
when(mockWifiInfo.getRssi()).thenReturn(RSSI);
|
||||
when(mockWifiManager.getConnectionInfo()).thenReturn(mockWifiInfo);
|
||||
when(mockWifiManager.getWifiApConfiguration()).thenReturn(mockWifiConfig);
|
||||
}
|
||||
|
||||
private void setupMockedPreferenceScreen() {
|
||||
@@ -139,7 +139,6 @@ public class WifiDetailPreferenceControllerTest {
|
||||
mController.onResume();
|
||||
|
||||
verify(mockWifiManager).getConnectionInfo();
|
||||
verify(mockWifiManager).getWifiApConfiguration();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -178,4 +177,29 @@ public class WifiDetailPreferenceControllerTest {
|
||||
|
||||
verify(mockSignalStrengthPref).setDetailText(expectedStrength);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void forgetNetwork_ephemeral() {
|
||||
WifiConfiguration wifiConfiguration = new WifiConfiguration();
|
||||
wifiConfiguration.SSID = "ssid";
|
||||
// WifiConfiguration#isEphemeral will not be visible in robolectric until O is supported
|
||||
wifiConfiguration.ephemeral = true;
|
||||
when(mockAccessPoint.getConfig()).thenReturn(wifiConfiguration);
|
||||
|
||||
mController = new WifiDetailPreferenceController(
|
||||
mockAccessPoint, mContext, mLifecycle, mockWifiManager);
|
||||
|
||||
mController.forgetNetwork();
|
||||
|
||||
verify(mockWifiManager).disableEphemeralNetwork(wifiConfiguration.SSID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void forgetNetwork_saved() {
|
||||
mockWifiConfig.networkId = 5;
|
||||
|
||||
mController.forgetNetwork();
|
||||
|
||||
verify(mockWifiManager).forget(mockWifiConfig.networkId, null);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user