Merge "WifiStateMachine: check p2p supported"
diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java
index b59a75e..55e681a 100644
--- a/service/java/com/android/server/wifi/WifiConfigManager.java
+++ b/service/java/com/android/server/wifi/WifiConfigManager.java
@@ -50,6 +50,7 @@
import com.android.server.wifi.WifiConfigStoreLegacy.WifiConfigStoreDataLegacy;
import com.android.server.wifi.util.ScanResultUtil;
import com.android.server.wifi.util.TelephonyUtil;
+import com.android.server.wifi.util.WifiPermissionsWrapper;
import org.xmlpull.v1.XmlPullParserException;
@@ -216,6 +217,7 @@
private final WifiKeyStore mWifiKeyStore;
private final WifiConfigStore mWifiConfigStore;
private final WifiConfigStoreLegacy mWifiConfigStoreLegacy;
+ private final WifiPermissionsWrapper mWifiPermissionsWrapper;
/**
* Local log used for debugging any WifiConfigManager issues.
*/
@@ -285,7 +287,8 @@
WifiConfigManager(
Context context, FrameworkFacade facade, Clock clock, UserManager userManager,
TelephonyManager telephonyManager, WifiKeyStore wifiKeyStore,
- WifiConfigStore wifiConfigStore, WifiConfigStoreLegacy wifiConfigStoreLegacy) {
+ WifiConfigStore wifiConfigStore, WifiConfigStoreLegacy wifiConfigStoreLegacy,
+ WifiPermissionsWrapper wifiPermissionsWrapper) {
mContext = context;
mFacade = facade;
mClock = clock;
@@ -295,6 +298,7 @@
mWifiKeyStore = wifiKeyStore;
mWifiConfigStore = wifiConfigStore;
mWifiConfigStoreLegacy = wifiConfigStoreLegacy;
+ mWifiPermissionsWrapper = wifiPermissionsWrapper;
mConfiguredNetworks = new ConfigurationMap(userManager);
mScanDetailCaches = new HashMap<>(16, 0.75f);
@@ -899,6 +903,15 @@
existingInternalConfig, config, uid);
}
+ // Only add networks with proxy settings if the user has permission to
+ if (WifiConfigurationUtil.hasProxyChanged(existingInternalConfig, newInternalConfig)
+ && !canModifyProxySettings(uid)) {
+ Log.e(TAG, "UID " + uid + " does not have permission to modify proxy Settings "
+ + config.configKey() + ". Must have OVERRIDE_WIFI_CONFIG,"
+ + " or be device or profile owner.");
+ return new NetworkUpdateResult(WifiConfiguration.INVALID_NETWORK_ID);
+ }
+
// Update the keys for non-Passpoint enterprise networks. For Passpoint, the certificates
// and keys are installed at the time the provider is installed.
if (config.enterpriseConfig != null
@@ -2618,4 +2631,28 @@
pw.println("WifiConfigManager - Next network ID to be allocated " + mNextNetworkId);
pw.println("WifiConfigManager - Last selected network ID " + mLastSelectedNetworkId);
}
+
+ /**
+ * Returns true if the given uid has permission to add, update or remove proxy settings
+ */
+ private boolean canModifyProxySettings(int uid) {
+ final DevicePolicyManagerInternal dpmi =
+ mWifiPermissionsWrapper.getDevicePolicyManagerInternal();
+ final boolean isUidProfileOwner = dpmi != null && dpmi.isActiveAdminWithPolicy(uid,
+ DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
+ final boolean isUidDeviceOwner = dpmi != null && dpmi.isActiveAdminWithPolicy(uid,
+ DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
+ final boolean hasConfigOverridePermission = checkConfigOverridePermission(uid);
+ // If |uid| corresponds to the device owner, allow all modifications.
+ if (isUidDeviceOwner || isUidProfileOwner || hasConfigOverridePermission) {
+ return true;
+ }
+ if (mVerboseLoggingEnabled) {
+ Log.v(TAG, "UID: " + uid + " cannot modify WifiConfiguration proxy settings."
+ + " ConfigOverride=" + hasConfigOverridePermission
+ + " DeviceOwner=" + isUidDeviceOwner
+ + " ProfileOwner=" + isUidProfileOwner);
+ }
+ return false;
+ }
}
diff --git a/service/java/com/android/server/wifi/WifiConfigurationUtil.java b/service/java/com/android/server/wifi/WifiConfigurationUtil.java
index 29ff8fb..67f1fad 100644
--- a/service/java/com/android/server/wifi/WifiConfigurationUtil.java
+++ b/service/java/com/android/server/wifi/WifiConfigurationUtil.java
@@ -18,7 +18,6 @@
import android.content.pm.UserInfo;
import android.net.IpConfiguration;
-import android.net.ProxyInfo;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiEnterpriseConfig;
import android.net.wifi.WifiScanner;
@@ -139,23 +138,18 @@
*
* @param existingConfig Existing WifiConfiguration object corresponding to the network.
* @param newConfig New WifiConfiguration object corresponding to the network.
- * @return true if proxy parameters have changed, false otherwise.
+ * @return true if proxy parameters have changed, false if no existing config and proxy settings
+ * are NONE, false otherwise.
*/
public static boolean hasProxyChanged(WifiConfiguration existingConfig,
WifiConfiguration newConfig) {
- if (existingConfig.getProxySettings() != newConfig.getProxySettings()) {
+ if (existingConfig == null) {
+ return newConfig.getProxySettings() != IpConfiguration.ProxySettings.NONE;
+ }
+ if (newConfig.getProxySettings() != existingConfig.getProxySettings()) {
return true;
}
- if (newConfig.getProxySettings() == IpConfiguration.ProxySettings.PAC) {
- ProxyInfo existingHttpProxy = existingConfig.getHttpProxy();
- ProxyInfo newHttpProxy = newConfig.getHttpProxy();
- if (existingHttpProxy != null) {
- return !existingHttpProxy.equals(newHttpProxy);
- } else {
- return (newHttpProxy != null);
- }
- }
- return false;
+ return !Objects.equals(existingConfig.getHttpProxy(), newConfig.getHttpProxy());
}
/**
diff --git a/service/java/com/android/server/wifi/WifiInjector.java b/service/java/com/android/server/wifi/WifiInjector.java
index 902cc64..613a2a0 100644
--- a/service/java/com/android/server/wifi/WifiInjector.java
+++ b/service/java/com/android/server/wifi/WifiInjector.java
@@ -18,7 +18,6 @@
import android.content.Context;
import android.net.NetworkScoreManager;
-import android.net.NetworkScorerAppManager;
import android.net.wifi.IApInterface;
import android.net.wifi.IWifiScanner;
import android.net.wifi.IWificond;
@@ -121,6 +120,11 @@
mContext = context;
mUseRealLogger = mContext.getResources().getBoolean(
R.bool.config_wifi_enable_wifi_firmware_debugging);
+ mSettingsStore = new WifiSettingsStore(mContext);
+ mWifiPermissionsWrapper = new WifiPermissionsWrapper(mContext);
+ mNetworkScoreManager = mContext.getSystemService(NetworkScoreManager.class);
+ mWifiPermissionsUtil = new WifiPermissionsUtil(mWifiPermissionsWrapper, mContext,
+ mSettingsStore, UserManager.get(mContext), mNetworkScoreManager);
// Now create and start handler threads
mWifiServiceHandlerThread = new HandlerThread("WifiService");
@@ -156,9 +160,7 @@
// Config Manager
mWifiConfigManager = new WifiConfigManager(mContext, mFrameworkFacade, mClock,
UserManager.get(mContext), TelephonyManager.from(mContext),
- mWifiKeyStore, mWifiConfigStore, mWifiConfigStoreLegacy);
- mNetworkScoreManager = (NetworkScoreManager)
- mContext.getSystemService(Context.NETWORK_SCORE_SERVICE);
+ mWifiKeyStore, mWifiConfigStore, mWifiConfigStoreLegacy, mWifiPermissionsWrapper);
mWifiNetworkScoreCache = new WifiNetworkScoreCache(mContext);
mWifiNetworkSelector = new WifiNetworkSelector(mContext, mWifiConfigManager, mClock);
LocalLog localLog = mWifiNetworkSelector.getLocalLog();
@@ -178,7 +180,6 @@
mWifiStateMachine = new WifiStateMachine(mContext, mFrameworkFacade,
mWifiStateMachineHandlerThread.getLooper(), UserManager.get(mContext),
this, mBackupManagerProxy, mCountryCode, mWifiNative);
- mSettingsStore = new WifiSettingsStore(mContext);
mCertManager = new WifiCertManager(mContext);
mLockManager = new WifiLockManager(mContext, BatteryStatsService.getService());
mWifiController = new WifiController(mContext, mWifiStateMachine, mSettingsStore,
@@ -186,9 +187,6 @@
mWifiLastResortWatchdog = new WifiLastResortWatchdog(mWifiController, mWifiMetrics);
mWifiMulticastLockManager = new WifiMulticastLockManager(mWifiStateMachine,
BatteryStatsService.getService());
- mWifiPermissionsWrapper = new WifiPermissionsWrapper(mContext);
- mWifiPermissionsUtil = new WifiPermissionsUtil(mWifiPermissionsWrapper, mContext,
- mSettingsStore, UserManager.get(mContext), new NetworkScorerAppManager(mContext));
}
/**
diff --git a/service/java/com/android/server/wifi/WifiSupplicantControl.java b/service/java/com/android/server/wifi/WifiSupplicantControl.java
index 1acc4ae..426aea8 100644
--- a/service/java/com/android/server/wifi/WifiSupplicantControl.java
+++ b/service/java/com/android/server/wifi/WifiSupplicantControl.java
@@ -266,6 +266,8 @@
readNetworkBitsetVariable(config.networkId, config.allowedKeyManagement,
WifiConfiguration.KeyMgmt.varName, WifiConfiguration.KeyMgmt.strings);
+ // The FT flags should not be exposed to external apps.
+ config.allowedKeyManagement = removeFastTransitionFlags(config.allowedKeyManagement);
readNetworkBitsetVariable(config.networkId, config.allowedAuthAlgorithms,
WifiConfiguration.AuthAlgorithm.varName, WifiConfiguration.AuthAlgorithm.strings);
@@ -411,6 +413,13 @@
return modifiedFlags;
}
+ private BitSet removeFastTransitionFlags(BitSet keyManagementFlags) {
+ BitSet modifiedFlags = keyManagementFlags;
+ modifiedFlags.clear(WifiConfiguration.KeyMgmt.FT_PSK);
+ modifiedFlags.clear(WifiConfiguration.KeyMgmt.FT_EAP);
+ return modifiedFlags;
+ }
+
/**
* Save an entire network configuration to wpa_supplicant.
*
diff --git a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
index 4bb8288..e23de11 100644
--- a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
+++ b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
@@ -21,7 +21,7 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
-import android.net.NetworkScorerAppManager;
+import android.net.NetworkScoreManager;
import android.os.UserManager;
import android.provider.Settings;
@@ -42,19 +42,19 @@
private final AppOpsManager mAppOps;
private final UserManager mUserManager;
private final WifiSettingsStore mSettingsStore;
- private final NetworkScorerAppManager mNetworkScorerAppManager;
+ private final NetworkScoreManager mNetworkScoreManager;
private WifiLog mLog;
public WifiPermissionsUtil(WifiPermissionsWrapper wifiPermissionsWrapper,
Context context, WifiSettingsStore settingsStore, UserManager userManager,
- NetworkScorerAppManager networkScorerAppManager) {
+ NetworkScoreManager networkScoreManager) {
mWifiPermissionsWrapper = wifiPermissionsWrapper;
mContext = context;
mUserManager = userManager;
mAppOps = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE);
mSettingsStore = settingsStore;
mLog = WifiInjector.getInstance().makeLog(TAG);
- mNetworkScorerAppManager = networkScorerAppManager;
+ mNetworkScoreManager = networkScoreManager;
}
/**
@@ -112,7 +112,7 @@
* Returns true if the caller is an Active Network Scorer.
*/
private boolean isCallerActiveNwScorer(int uid) {
- return mNetworkScorerAppManager.isCallerActiveScorer(uid);
+ return mNetworkScoreManager.isCallerActiveScorer(uid);
}
/**
diff --git a/service/java/com/android/server/wifi/util/WifiPermissionsWrapper.java b/service/java/com/android/server/wifi/util/WifiPermissionsWrapper.java
index be10aef..72c439d 100644
--- a/service/java/com/android/server/wifi/util/WifiPermissionsWrapper.java
+++ b/service/java/com/android/server/wifi/util/WifiPermissionsWrapper.java
@@ -17,9 +17,12 @@
package com.android.server.wifi.util;
import android.app.ActivityManager;
+import android.app.admin.DevicePolicyManagerInternal;
import android.content.Context;
import android.os.UserHandle;
+import com.android.server.LocalServices;
+
import java.util.List;
/**
@@ -71,4 +74,11 @@
public int getUidPermission(String permissionType, int uid) {
return ActivityManager.checkUidPermission(permissionType, uid);
}
+
+ /**
+ * Gets the local service {link@ DevicePolicyManagerInternal}, can be null
+ */
+ public DevicePolicyManagerInternal getDevicePolicyManagerInternal() {
+ return LocalServices.getService(DevicePolicyManagerInternal.class);
+ }
}
diff --git a/service/java/com/android/server/wifi/wificond/NativeScanResult.java b/service/java/com/android/server/wifi/wificond/NativeScanResult.java
index 8384cb0..d41237a 100644
--- a/service/java/com/android/server/wifi/wificond/NativeScanResult.java
+++ b/service/java/com/android/server/wifi/wificond/NativeScanResult.java
@@ -62,11 +62,8 @@
/** implement Parcelable interface */
@Override
public void writeToParcel(Parcel out, int flags) {
- out.writeInt(ssid.length);
out.writeByteArray(ssid);
- out.writeInt(bssid.length);
out.writeByteArray(bssid);
- out.writeInt(infoElement.length);
out.writeByteArray(infoElement);
out.writeInt(frequency);
out.writeInt(signalMbm);
@@ -87,12 +84,9 @@
@Override
public NativeScanResult createFromParcel(Parcel in) {
NativeScanResult result = new NativeScanResult();
- result.ssid = new byte[in.readInt()];
- in.readByteArray(result.ssid);
- result.bssid = new byte[in.readInt()];
- in.readByteArray(result.bssid);
- result.infoElement = new byte[in.readInt()];
- in.readByteArray(result.infoElement);
+ result.ssid = in.createByteArray();
+ result.bssid = in.createByteArray();
+ result.infoElement = in.createByteArray();
result.frequency = in.readInt();
result.signalMbm = in.readInt();
result.tsf = in.readLong();
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
index 752cbed..b289ed8 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
@@ -19,6 +19,8 @@
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
+import android.app.admin.DeviceAdminInfo;
+import android.app.admin.DevicePolicyManagerInternal;
import android.app.test.MockAnswerUtil.AnswerWithArguments;
import android.content.Context;
import android.content.Intent;
@@ -41,6 +43,7 @@
import com.android.internal.R;
import com.android.server.wifi.WifiConfigStoreLegacy.WifiConfigStoreDataLegacy;
+import com.android.server.wifi.util.WifiPermissionsWrapper;
import org.junit.After;
import org.junit.Before;
@@ -70,14 +73,24 @@
private static final long TEST_WALLCLOCK_UPDATE_TIME_MILLIS = 75455637;
private static final long TEST_ELAPSED_UPDATE_NETWORK_SELECTION_TIME_MILLIS = 29457631;
private static final int TEST_CREATOR_UID = WifiConfigurationTestUtil.TEST_UID;
+ private static final int TEST_NO_PERM_UID = 7;
private static final int TEST_UPDATE_UID = 4;
private static final int TEST_SYSUI_UID = 56;
private static final int TEST_DEFAULT_USER = UserHandle.USER_SYSTEM;
private static final int TEST_MAX_NUM_ACTIVE_CHANNELS_FOR_PARTIAL_SCAN = 5;
private static final Integer[] TEST_FREQ_LIST = {2400, 2450, 5150, 5175, 5650};
- private static final String TEST_CREATOR_NAME = "com.wificonfigmanagerNew.creator";
- private static final String TEST_UPDATE_NAME = "com.wificonfigmanagerNew.update";
+ private static final String TEST_CREATOR_NAME = "com.wificonfigmanager.creator";
+ private static final String TEST_UPDATE_NAME = "com.wificonfigmanager.update";
+ private static final String TEST_NO_PERM_NAME = "com.wificonfigmanager.noperm";
private static final String TEST_DEFAULT_GW_MAC_ADDRESS = "0f:67:ad:ef:09:34";
+ private static final String TEST_STATIC_PROXY_HOST_1 = "192.168.48.1";
+ private static final int TEST_STATIC_PROXY_PORT_1 = 8000;
+ private static final String TEST_STATIC_PROXY_EXCLUSION_LIST_1 = "";
+ private static final String TEST_PAC_PROXY_LOCATION_1 = "http://bleh";
+ private static final String TEST_STATIC_PROXY_HOST_2 = "192.168.1.1";
+ private static final int TEST_STATIC_PROXY_PORT_2 = 3000;
+ private static final String TEST_STATIC_PROXY_EXCLUSION_LIST_2 = "";
+ private static final String TEST_PAC_PROXY_LOCATION_2 = "http://blah";
@Mock private Context mContext;
@Mock private FrameworkFacade mFrameworkFacade;
@@ -88,6 +101,8 @@
@Mock private WifiConfigStore mWifiConfigStore;
@Mock private WifiConfigStoreLegacy mWifiConfigStoreLegacy;
@Mock private PackageManager mPackageManager;
+ @Mock private DevicePolicyManagerInternal mDevicePolicyManagerInternal;
+ @Mock private WifiPermissionsWrapper mWifiPermissionsWrapper;
private MockResources mResources;
private InOrder mContextConfigStoreMockOrder;
@@ -125,6 +140,8 @@
return TEST_UPDATE_NAME;
} else if (uid == TEST_SYSUI_UID) {
return WifiConfigManager.SYSUI_PACKAGE_NAME;
+ } else if (uid == TEST_NO_PERM_UID) {
+ return TEST_NO_PERM_NAME;
}
fail("Unexpected UID: " + uid);
return "";
@@ -157,6 +174,10 @@
when(mWifiConfigStore.areStoresPresent()).thenReturn(true);
+ when(mDevicePolicyManagerInternal.isActiveAdminWithPolicy(anyInt(), anyInt()))
+ .thenReturn(false);
+ when(mWifiPermissionsWrapper.getDevicePolicyManagerInternal())
+ .thenReturn(mDevicePolicyManagerInternal);
createWifiConfigManager();
}
@@ -387,6 +408,11 @@
// are not set.
verifyUpdateNetworkToWifiConfigManagerWithoutIpChange(openNetwork);
+ // Configure mock DevicePolicyManager to give Profile Owner permission so that we can modify
+ // proxy settings on a configuration
+ when(mDevicePolicyManagerInternal.isActiveAdminWithPolicy(anyInt(),
+ eq(DeviceAdminInfo.USES_POLICY_PROFILE_OWNER))).thenReturn(true);
+
// Change the IpConfiguration now and ensure that the IP configuration flags are set now.
assertAndSetNetworkIpConfiguration(
openNetwork,
@@ -468,6 +494,11 @@
wepNetwork,
WifiConfigurationTestUtil.createStaticIpConfigurationWithPacProxy());
+ // Configure mock DevicePolicyManager to give Profile Owner permission so that we can modify
+ // proxy settings on a configuration
+ when(mDevicePolicyManagerInternal.isActiveAdminWithPolicy(anyInt(),
+ eq(DeviceAdminInfo.USES_POLICY_PROFILE_OWNER))).thenReturn(true);
+
verifyUpdateNetworkToWifiConfigManagerWithoutIpChange(openNetwork);
verifyUpdateNetworkToWifiConfigManagerWithoutIpChange(pskNetwork);
verifyUpdateNetworkToWifiConfigManagerWithIpChange(wepNetwork);
@@ -2549,11 +2580,395 @@
networks, retrievedNetworks);
}
+ /**
+ * Verifies that adding a network with a proxy, without having permission OVERRIDE_WIFI_CONFIG,
+ * holding device policy, or profile owner policy fails.
+ */
+ @Test
+ public void testAddNetworkWithProxyFails() {
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ false, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithStaticProxy(),
+ false, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ }
+
+ /**
+ * Verifies that adding a network with a PAC or STATIC proxy with permission
+ * OVERRIDE_WIFI_CONFIG is successful
+ */
+ @Test
+ public void testAddNetworkWithProxyWithConfOverride() {
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithStaticProxy(),
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ }
+
+ /**
+ * Verifies that adding a network with a PAC or STATIC proxy, while holding policy
+ * {@link DeviceAdminInfo.USES_POLICY_PROFILE_OWNER} is successful
+ */
+ @Test
+ public void testAddNetworkWithProxyAsProfileOwner() {
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithStaticProxy(),
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ }
+ /**
+ * Verifies that adding a network with a PAC or STATIC proxy, while holding policy
+ * {@link DeviceAdminInfo.USES_POLICY_DEVICE_OWNER} is successful
+ */
+ @Test
+ public void testAddNetworkWithProxyAsDeviceOwner() {
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithStaticProxy(),
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ }
+ /**
+ * Verifies that updating a network (that has no proxy) and adding a PAC or STATIC proxy fails
+ * without being able to override configs, or holding Device or Profile owner policies.
+ */
+ @Test
+ public void testUpdateNetworkAddProxyFails() {
+ WifiConfiguration network = WifiConfigurationTestUtil.createOpenHiddenNetwork();
+ NetworkUpdateResult result = verifyAddNetworkToWifiConfigManager(network);
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ false, // assertSuccess
+ result.getNetworkId()); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithStaticProxy(),
+ false, // assertSuccess
+ result.getNetworkId()); // Update networkID
+ }
+ /**
+ * Verifies that updating a network and adding a proxy is successful in the cases where app can
+ * override configs, holds policy {@link DeviceAdminInfo.USES_POLICY_PROFILE_OWNER},
+ * and holds policy {@link DeviceAdminInfo.USES_POLICY_DEVICE_OWNER}, and that it fails
+ * otherwise.
+ */
+ @Test
+ public void testUpdateNetworkAddProxyWithPermissionAndSystem() {
+ // Testing updating network with uid permission OVERRIDE_WIFI_CONFIG
+ WifiConfiguration network = WifiConfigurationTestUtil.createOpenHiddenNetwork();
+ NetworkUpdateResult result =
+ mWifiConfigManager.addOrUpdateNetwork(network, TEST_CREATOR_UID);
+ assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID);
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Testing updating network with proxy while holding Profile Owner policy
+ network = WifiConfigurationTestUtil.createOpenHiddenNetwork();
+ result = mWifiConfigManager.addOrUpdateNetwork(network, TEST_NO_PERM_UID);
+ assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID);
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Testing updating network with proxy while holding Device Owner Policy
+ network = WifiConfigurationTestUtil.createOpenHiddenNetwork();
+ result = mWifiConfigManager.addOrUpdateNetwork(network, TEST_NO_PERM_UID);
+ assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID);
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy(),
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+ }
+
+ /**
+ * Verifies that updating a network that has a proxy without changing the proxy, can succeed
+ * without proxy specific permissions.
+ */
+ @Test
+ public void testUpdateNetworkUnchangedProxy() {
+ IpConfiguration ipConf = WifiConfigurationTestUtil.createDHCPIpConfigurationWithPacProxy();
+ // First create a WifiConfiguration with proxy
+ NetworkUpdateResult result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ // Update the network while using the same ipConf, and no proxy specific permissions
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+ }
+
+ /**
+ * Verifies that updating a network with a different proxy succeeds in the cases where app can
+ * override configs, holds policy {@link DeviceAdminInfo.USES_POLICY_PROFILE_OWNER},
+ * and holds policy {@link DeviceAdminInfo.USES_POLICY_DEVICE_OWNER}, and that it fails
+ * otherwise.
+ */
+ @Test
+ public void testUpdateNetworkDifferentProxy() {
+ // Create two proxy configurations of the same type, but different values
+ IpConfiguration ipConf1 =
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithSpecificProxy(
+ WifiConfigurationTestUtil.STATIC_PROXY_SETTING,
+ TEST_STATIC_PROXY_HOST_1,
+ TEST_STATIC_PROXY_PORT_1,
+ TEST_STATIC_PROXY_EXCLUSION_LIST_1,
+ TEST_PAC_PROXY_LOCATION_1);
+ IpConfiguration ipConf2 =
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithSpecificProxy(
+ WifiConfigurationTestUtil.STATIC_PROXY_SETTING,
+ TEST_STATIC_PROXY_HOST_2,
+ TEST_STATIC_PROXY_PORT_2,
+ TEST_STATIC_PROXY_EXCLUSION_LIST_2,
+ TEST_PAC_PROXY_LOCATION_2);
+
+ // Update with Conf Override
+ NetworkUpdateResult result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf2,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Update as Device Owner
+ result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ ipConf2,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Update as Profile Owner
+ result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf2,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Update with no permissions (should fail)
+ result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf2,
+ false, // assertSuccess
+ result.getNetworkId()); // Update networkID
+ }
+ /**
+ * Verifies that updating a network removing its proxy succeeds in the cases where app can
+ * override configs, holds policy {@link DeviceAdminInfo.USES_POLICY_PROFILE_OWNER},
+ * and holds policy {@link DeviceAdminInfo.USES_POLICY_DEVICE_OWNER}, and that it fails
+ * otherwise.
+ */
+ @Test
+ public void testUpdateNetworkRemoveProxy() {
+ // Create two different IP configurations, one with a proxy and another without.
+ IpConfiguration ipConf1 =
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithSpecificProxy(
+ WifiConfigurationTestUtil.STATIC_PROXY_SETTING,
+ TEST_STATIC_PROXY_HOST_1,
+ TEST_STATIC_PROXY_PORT_1,
+ TEST_STATIC_PROXY_EXCLUSION_LIST_1,
+ TEST_PAC_PROXY_LOCATION_1);
+ IpConfiguration ipConf2 =
+ WifiConfigurationTestUtil.createDHCPIpConfigurationWithSpecificProxy(
+ WifiConfigurationTestUtil.NONE_PROXY_SETTING,
+ TEST_STATIC_PROXY_HOST_2,
+ TEST_STATIC_PROXY_PORT_2,
+ TEST_STATIC_PROXY_EXCLUSION_LIST_2,
+ TEST_PAC_PROXY_LOCATION_2);
+
+ // Update with Conf Override
+ NetworkUpdateResult result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ true, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf2,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Update as Device Owner
+ result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ true, // withDeviceOwnerPolicy
+ ipConf2,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Update as Profile Owner
+ result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf2,
+ true, // assertSuccess
+ result.getNetworkId()); // Update networkID
+
+ // Update with no permissions (should fail)
+ result = verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ true, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf1,
+ true, // assertSuccess
+ WifiConfiguration.INVALID_NETWORK_ID); // Update networkID
+ verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ false, // withConfOverride
+ false, // withProfileOwnerPolicy
+ false, // withDeviceOwnerPolicy
+ ipConf2,
+ false, // assertSuccess
+ result.getNetworkId()); // Update networkID
+ }
+
+ private NetworkUpdateResult verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
+ boolean withConfOverride,
+ boolean withProfileOwnerPolicy,
+ boolean withDeviceOwnerPolicy,
+ IpConfiguration ipConfiguration,
+ boolean assertSuccess,
+ int networkId) {
+ WifiConfiguration network;
+ if (networkId == WifiConfiguration.INVALID_NETWORK_ID) {
+ network = WifiConfigurationTestUtil.createOpenHiddenNetwork();
+ } else {
+ network = mWifiConfigManager.getConfiguredNetwork(networkId);
+ }
+ network.setIpConfiguration(ipConfiguration);
+ when(mDevicePolicyManagerInternal.isActiveAdminWithPolicy(anyInt(),
+ eq(DeviceAdminInfo.USES_POLICY_PROFILE_OWNER)))
+ .thenReturn(withProfileOwnerPolicy);
+ when(mDevicePolicyManagerInternal.isActiveAdminWithPolicy(anyInt(),
+ eq(DeviceAdminInfo.USES_POLICY_DEVICE_OWNER)))
+ .thenReturn(withDeviceOwnerPolicy);
+ int uid = withConfOverride ? TEST_CREATOR_UID : TEST_NO_PERM_UID;
+ NetworkUpdateResult result = mWifiConfigManager.addOrUpdateNetwork(network, uid);
+ assertEquals(assertSuccess, result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID);
+ return result;
+ }
+
private void createWifiConfigManager() {
mWifiConfigManager =
new WifiConfigManager(
mContext, mFrameworkFacade, mClock, mUserManager, mTelephonyManager,
- mWifiKeyStore, mWifiConfigStore, mWifiConfigStoreLegacy);
+ mWifiKeyStore, mWifiConfigStore, mWifiConfigStoreLegacy,
+ mWifiPermissionsWrapper);
mWifiConfigManager.enableVerboseLogging(1);
}
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java
index 1db6aa9..c0ad6f6 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java
@@ -333,6 +333,26 @@
TEST_PAC_PROXY_LOCATION);
}
+ /**
+ * Creates an IP configuration with specific parameters.
+ * @param proxySetting Must be one of {@link WifiConfigurationTestUtil#STATIC_PROXY_SETTING},
+ * {@link WifiConfigurationTestUtil#PAC_PROXY_SETTING},
+ * {@link WifiConfigurationTestUtil#NONE_PROXY_SETTING}
+ */
+ public static IpConfiguration createDHCPIpConfigurationWithSpecificProxy(
+ int proxySetting,
+ String staticProxyHost,
+ int staticProxyPort,
+ String staticProxyExclusionList,
+ String pacProxyLocation) {
+ return generateIpConfig(
+ DHCP_IP_ASSIGNMENT, proxySetting,
+ TEST_STATIC_IP_LINK_ADDRESS, TEST_STATIC_IP_LINK_PREFIX_LENGTH,
+ TEST_STATIC_IP_GATEWAY_ADDRESS, TEST_STATIC_IP_DNS_SERVER_ADDRESSES,
+ staticProxyHost, staticProxyPort, staticProxyExclusionList,
+ pacProxyLocation);
+ }
+
// TODO: These enterprise configurations may need more parameters set.
public static WifiEnterpriseConfig createPEAPWifiEnterpriseConfigWithGTCPhase2() {
WifiEnterpriseConfig config = new WifiEnterpriseConfig();
diff --git a/tests/wifitests/src/com/android/server/wifi/util/WifiPermissionsUtilTest.java b/tests/wifitests/src/com/android/server/wifi/util/WifiPermissionsUtilTest.java
index c0d3e2b..2ead206 100644
--- a/tests/wifitests/src/com/android/server/wifi/util/WifiPermissionsUtilTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/util/WifiPermissionsUtilTest.java
@@ -17,6 +17,8 @@
package com.android.server.wifi.util;
import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.when;
@@ -28,15 +30,12 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
-import android.net.NetworkScorerAppManager;
+import android.net.NetworkScoreManager;
import android.os.Build;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-
import com.android.server.wifi.BinderUtil;
import com.android.server.wifi.WifiSettingsStore;
@@ -67,7 +66,7 @@
@Mock private UserManager mMockUserManager;
@Mock private WifiSettingsStore mMockWifiSettingsStore;
@Mock private ContentResolver mMockContentResolver;
- @Mock private NetworkScorerAppManager mNetworkScorerAppManager;
+ @Mock private NetworkScoreManager mNetworkScoreManager;
private static final String TEST_PACKAGE_NAME = "com.google.somePackage";
private static final String INVALID_PACKAGE = "BAD_PACKAGE";
@@ -127,7 +126,7 @@
mCurrentUser = UserHandle.USER_CURRENT_OR_SELF;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -154,7 +153,7 @@
mMockUserInfo.id = mCallingUser;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -176,7 +175,7 @@
mPermissionsList.put(mMacAddressPermission, mUid);
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -204,7 +203,7 @@
mPermissionsList.put(mInteractAcrossUsersFullPermission, mUid);
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -230,7 +229,7 @@
mWifiScanAllowApps = AppOpsManager.MODE_ALLOWED;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -255,7 +254,7 @@
mCurrentUser = UserHandle.USER_CURRENT_OR_SELF;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -283,7 +282,7 @@
mCurrentUser = UserHandle.USER_CURRENT_OR_SELF;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -314,7 +313,7 @@
mMockUserInfo.id = mCallingUser;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -340,7 +339,7 @@
mLocationModeSetting = Settings.Secure.LOCATION_MODE_HIGH_ACCURACY;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -358,7 +357,7 @@
boolean output = false;
setupTestCase();
WifiPermissionsUtil codeUnderTest = new WifiPermissionsUtil(mMockPermissionsWrapper,
- mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScorerAppManager);
+ mMockContext, mMockWifiSettingsStore, mMockUserManager, mNetworkScoreManager);
try {
output = codeUnderTest.canAccessScanResults(TEST_PACKAGE_NAME, mUid, mTargetVersion);
} catch (SecurityException e) {
@@ -431,7 +430,7 @@
anyString(), anyInt());
when(mMockPermissionsWrapper.getCallingUserId(mUid)).thenReturn(mCallingUser);
when(mMockPermissionsWrapper.getCurrentUser()).thenReturn(mCurrentUser);
- when(mNetworkScorerAppManager.isCallerActiveScorer(mUid)).thenReturn(mActiveNwScorer);
+ when(mNetworkScoreManager.isCallerActiveScorer(mUid)).thenReturn(mActiveNwScorer);
when(mMockPermissionsWrapper.getUidPermission(mManifestStringCoarse, mUid))
.thenReturn(mCoarseLocationPermission);
when(mMockWifiSettingsStore.getLocationModeSetting(mMockContext))