Stop using ConnectivityManager for VPNs. am: 1434c08600 am: cd7a7d20a1

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1592132

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie612e6ca5f73330b99f64054a718500647100f42
This commit is contained in:
Lorenzo Colitti
2021-02-18 17:09:55 +00:00
committed by Automerger Merge Worker
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();
}
}