Loading src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +13 −1 Original line number Diff line number Diff line Loading @@ -149,7 +149,6 @@ public class WifiDetailPreferenceController extends PreferenceController impleme @Override public void onResume() { mWifiInfo = mWifiManager.getConnectionInfo(); mWifiConfig = mWifiManager.getWifiApConfiguration(); refreshFromWifiInfo(); setIpText(); Loading Loading @@ -257,4 +256,17 @@ public class WifiDetailPreferenceController extends PreferenceController impleme } mDnsPref.setDetailText(builder.toString()); } /** * Forgets the wifi network associated with this preference. */ public void forgetNetwork() { if (mWifiConfig.ephemeral) { mWifiManager.disableEphemeralNetwork(mWifiConfig.SSID); } else if (mWifiConfig.isPasspoint()) { mWifiManager.removePasspointConfiguration(mWifiConfig.FQDN); } else { mWifiManager.forget(mWifiConfig.networkId, null /* action listener */); } } } src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +3 −10 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.android.internal.logging.nano.MetricsProto; Loading Loading @@ -69,17 +70,9 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { } private void forgetNetwork() { WifiInfo info = mWifiDetailPreferenceController.getWifiInfo(); mMetricsFeatureProvider.action(getActivity(), MetricsProto.MetricsEvent.ACTION_WIFI_FORGET); if (!info.isEphemeral()) { // Network is active but has no network ID - must be ephemeral. mWifiManager.disableEphemeralNetwork( AccessPoint.convertToQuotedString(info.getSSID())); } else if (mAccessPoint.getConfig().isPasspoint()) { mWifiManager.removePasspointConfiguration(mAccessPoint.getConfig().FQDN); } else { mWifiManager.forget(info.getNetworkId(), null /* action listener */); } mWifiDetailPreferenceController.forgetNetwork(); mForgetButton.setEnabled(false); } @Override Loading tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java +29 −5 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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(mockWifiManager.getConnectionInfo()).thenReturn(mockWifiInfo); when(mockWifiManager.getWifiApConfiguration()).thenReturn(mockWifiConfig); } private void setupMockedPreferenceScreen() { Loading Loading @@ -139,7 +139,6 @@ public class WifiDetailPreferenceControllerTest { mController.onResume(); verify(mockWifiManager).getConnectionInfo(); verify(mockWifiManager).getWifiApConfiguration(); } @Test Loading Loading @@ -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); } } Loading
src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +13 −1 Original line number Diff line number Diff line Loading @@ -149,7 +149,6 @@ public class WifiDetailPreferenceController extends PreferenceController impleme @Override public void onResume() { mWifiInfo = mWifiManager.getConnectionInfo(); mWifiConfig = mWifiManager.getWifiApConfiguration(); refreshFromWifiInfo(); setIpText(); Loading Loading @@ -257,4 +256,17 @@ public class WifiDetailPreferenceController extends PreferenceController impleme } mDnsPref.setDetailText(builder.toString()); } /** * Forgets the wifi network associated with this preference. */ public void forgetNetwork() { if (mWifiConfig.ephemeral) { mWifiManager.disableEphemeralNetwork(mWifiConfig.SSID); } else if (mWifiConfig.isPasspoint()) { mWifiManager.removePasspointConfiguration(mWifiConfig.FQDN); } else { mWifiManager.forget(mWifiConfig.networkId, null /* action listener */); } } }
src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +3 −10 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.android.internal.logging.nano.MetricsProto; Loading Loading @@ -69,17 +70,9 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { } private void forgetNetwork() { WifiInfo info = mWifiDetailPreferenceController.getWifiInfo(); mMetricsFeatureProvider.action(getActivity(), MetricsProto.MetricsEvent.ACTION_WIFI_FORGET); if (!info.isEphemeral()) { // Network is active but has no network ID - must be ephemeral. mWifiManager.disableEphemeralNetwork( AccessPoint.convertToQuotedString(info.getSSID())); } else if (mAccessPoint.getConfig().isPasspoint()) { mWifiManager.removePasspointConfiguration(mAccessPoint.getConfig().FQDN); } else { mWifiManager.forget(info.getNetworkId(), null /* action listener */); } mWifiDetailPreferenceController.forgetNetwork(); mForgetButton.setEnabled(false); } @Override Loading
tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java +29 −5 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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(mockWifiManager.getConnectionInfo()).thenReturn(mockWifiInfo); when(mockWifiManager.getWifiApConfiguration()).thenReturn(mockWifiConfig); } private void setupMockedPreferenceScreen() { Loading Loading @@ -139,7 +139,6 @@ public class WifiDetailPreferenceControllerTest { mController.onResume(); verify(mockWifiManager).getConnectionInfo(); verify(mockWifiManager).getWifiApConfiguration(); } @Test Loading Loading @@ -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); } }