Stop using ConnectivityManager for VPNs.

These methods have all moved to VpnManager.

Bug: 173331190
Test: atest SettingsRoboTests
Change-Id: I1dd57fa2213b1785a94ec9d6ab4cce3a5d2684ff
Merged-In: I1dd57fa2213b1785a94ec9d6ab4cce3a5d2684ff
This commit is contained in:
Lorenzo Colitti
2021-02-18 01:11:49 +09:00
parent ace5a90870
commit 1434c08600
9 changed files with 38 additions and 46 deletions

View File

@@ -40,6 +40,7 @@ import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.net.ConnectivityManager;
import android.net.ProxyInfo;
import android.net.VpnManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
@@ -84,6 +85,7 @@ public class EnterprisePrivacyFeatureProviderImplTest {
private @Mock PackageManager mPackageManager;
private @Mock UserManager mUserManager;
private @Mock ConnectivityManager mConnectivityManger;
private @Mock VpnManager mVpnManager;
private Resources mResources;
private EnterprisePrivacyFeatureProvider mProvider;
@@ -99,7 +101,7 @@ public class EnterprisePrivacyFeatureProviderImplTest {
mResources = RuntimeEnvironment.application.getResources();
mProvider = new EnterprisePrivacyFeatureProviderImpl(mContext, mDevicePolicyManager,
mPackageManager, mUserManager, mConnectivityManger, mResources);
mPackageManager, mUserManager, mConnectivityManger, mVpnManager, mResources);
}
@Test
@@ -201,11 +203,10 @@ public class EnterprisePrivacyFeatureProviderImplTest {
@Test
public void testIsAlwaysOnVpnSetInCurrentUser() {
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MY_USER_ID)).thenReturn(null);
when(mVpnManager.getAlwaysOnVpnPackageForUser(MY_USER_ID)).thenReturn(null);
assertThat(mProvider.isAlwaysOnVpnSetInCurrentUser()).isFalse();
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MY_USER_ID))
.thenReturn(VPN_PACKAGE_ID);
when(mVpnManager.getAlwaysOnVpnPackageForUser(MY_USER_ID)).thenReturn(VPN_PACKAGE_ID);
assertThat(mProvider.isAlwaysOnVpnSetInCurrentUser()).isTrue();
}
@@ -215,11 +216,10 @@ public class EnterprisePrivacyFeatureProviderImplTest {
mProfiles.add(new UserInfo(MANAGED_PROFILE_USER_ID, "", "", UserInfo.FLAG_MANAGED_PROFILE));
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MANAGED_PROFILE_USER_ID))
.thenReturn(null);
when(mVpnManager.getAlwaysOnVpnPackageForUser(MANAGED_PROFILE_USER_ID)).thenReturn(null);
assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isFalse();
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MANAGED_PROFILE_USER_ID))
when(mVpnManager.getAlwaysOnVpnPackageForUser(MANAGED_PROFILE_USER_ID))
.thenReturn(VPN_PACKAGE_ID);
assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isTrue();
}

View File

@@ -21,7 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.net.ConnectivityManager;
import android.net.VpnManager;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,11 +31,11 @@ import org.robolectric.RobolectricTestRunner;
public final class VpnUtilsTest {
@Test
public void testIsAlwaysOnVpnSet() {
final ConnectivityManager cm = mock(ConnectivityManager.class);
when(cm.getAlwaysOnVpnPackageForUser(0)).thenReturn("com.example.vpn");
assertThat(VpnUtils.isAlwaysOnVpnSet(cm, 0)).isTrue();
final VpnManager vm = mock(VpnManager.class);
when(vm.getAlwaysOnVpnPackageForUser(0)).thenReturn("com.example.vpn");
assertThat(VpnUtils.isAlwaysOnVpnSet(vm, 0)).isTrue();
when(cm.getAlwaysOnVpnPackageForUser(0)).thenReturn(null);
assertThat(VpnUtils.isAlwaysOnVpnSet(cm, 0)).isFalse();
when(vm.getAlwaysOnVpnPackageForUser(0)).thenReturn(null);
assertThat(VpnUtils.isAlwaysOnVpnSet(vm, 0)).isFalse();
}
}