Merge "Enforce wifi config lockdown on details page." into oc-mr1-dev

am: 10adff1163

Change-Id: I8aed4d127bc84c457a672cc5e524aa7ac477b15d
This commit is contained in:
Charles He
2017-09-06 16:06:32 +00:00
committed by android-build-merger
3 changed files with 13 additions and 3 deletions

View File

@@ -1132,7 +1132,7 @@ public class WifiSettings extends RestrictedSettingsFragment
* @param config The WiFi config.
* @return true if the config is not editable through Settings.
*/
static boolean isEditabilityLockedDown(Context context, WifiConfiguration config) {
public static boolean isEditabilityLockedDown(Context context, WifiConfiguration config) {
return !canModifyNetwork(context, config);
}

View File

@@ -19,6 +19,8 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
import static com.android.settings.wifi.WifiSettings.isEditabilityLockedDown;
import android.app.Fragment;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -464,7 +466,9 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
* Returns whether the network represented by this preference can be forgotten.
*/
private boolean canForgetNetwork() {
return mWifiInfo != null && mWifiInfo.isEphemeral() || mWifiConfig != null;
// TODO(65396674): create test for the locked down scenario
return (mWifiInfo != null && mWifiInfo.isEphemeral())
|| (mWifiConfig != null && !isEditabilityLockedDown(mContext, mWifiConfig));
}
/**

View File

@@ -18,12 +18,15 @@ package com.android.settings.wifi.details;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -138,7 +141,7 @@ public class WifiDetailPreferenceControllerTest {
@Captor private ArgumentCaptor<View.OnClickListener> mForgetClickListener;
@Captor private ArgumentCaptor<Preference> mIpv6AddressCaptor;
private Context mContext = RuntimeEnvironment.application;
private Context mContext;
private Lifecycle mLifecycle;
private LinkProperties mLinkProperties;
private WifiDetailPreferenceController mController;
@@ -199,6 +202,7 @@ public class WifiDetailPreferenceControllerTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mLifecycle = new Lifecycle();
when(mockAccessPoint.getConfig()).thenReturn(mockWifiConfig);
@@ -230,6 +234,8 @@ public class WifiDetailPreferenceControllerTest {
.thenReturn(mockHeaderController);
when(mockHeaderController.setSummary(anyString())).thenReturn(mockHeaderController);
doReturn(null).when(mContext).getSystemService(eq(Context.DEVICE_POLICY_SERVICE));
setupMockedPreferenceScreen();
mController = newWifiDetailPreferenceController();
}