Stop using ConnectivityManager for VPNs in DPMS.

These methods have all moved to VpnManager.

Bug: 173331190
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpn \
            MixedDeviceOwnerTest#testAlwaysOnVpnLockDown \
            MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot \
            MixedDeviceOwnerTest#testAlwaysOnVpnPackageUninstalled \
            MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage \
            MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced \
            MixedDeviceOwnerTest#testAlwaysOnVpnPackageLogged \
            MixedProfileOwnerTest#testAlwaysOnVpn \
            MixedProfileOwnerTest#testAlwaysOnVpnLockDown \
            MixedProfileOwnerTest#testAlwaysOnVpnAcrossReboot \
            MixedProfileOwnerTest#testAlwaysOnVpnPackageUninstalled \
            MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage \
            MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced \
            MixedProfileOwnerTest#testAlwaysOnVpnPackageLogged \
            MixedManagedProfileOwnerTest#testAlwaysOnVpn \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnLockDown \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnAcrossReboot \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnPackageUninstalled \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnPackageLogged
Change-Id: I46d9a7768546139690154b1ee1e1bf716b3a2c17
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 9a692be7..74fa273 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -221,6 +221,7 @@
 import android.net.IIpConnectivityMetrics;
 import android.net.ProxyInfo;
 import android.net.Uri;
+import android.net.VpnManager;
 import android.net.metrics.IpConnectivityLog;
 import android.net.wifi.WifiManager;
 import android.os.Binder;
@@ -1262,6 +1263,10 @@
             return mContext.getSystemService(ConnectivityManager.class);
         }
 
+        VpnManager getVpnManager() {
+            return mContext.getSystemService(VpnManager.class);
+        }
+
         LocationManager getLocationManager() {
             return mContext.getSystemService(LocationManager.class);
         }
@@ -6292,7 +6297,7 @@
                 }
             }
             // If some package is uninstalled after the check above, it will be ignored by CM.
-            if (!mInjector.getConnectivityManager().setAlwaysOnVpnPackageForUser(
+            if (!mInjector.getVpnManager().setAlwaysOnVpnPackageForUser(
                     userId, vpnPackage, lockdown, lockdownAllowlist)) {
                 throw new UnsupportedOperationException();
             }
@@ -6324,8 +6329,7 @@
         Preconditions.checkCallAuthorization(isDeviceOwner(caller) || isProfileOwner(caller));
 
         return mInjector.binderWithCleanCallingIdentity(
-                () -> mInjector.getConnectivityManager().getAlwaysOnVpnPackageForUser(
-                        caller.getUserId()));
+                () -> mInjector.getVpnManager().getAlwaysOnVpnPackageForUser(caller.getUserId()));
     }
 
     @Override
@@ -6351,7 +6355,7 @@
         }
 
         return mInjector.binderWithCleanCallingIdentity(
-                () -> mInjector.getConnectivityManager().isVpnLockdownEnabled(caller.getUserId()));
+                () -> mInjector.getVpnManager().isVpnLockdownEnabled(caller.getUserId()));
     }
 
     @Override
@@ -6372,8 +6376,7 @@
         Preconditions.checkCallAuthorization(isDeviceOwner(caller) || isProfileOwner(caller));
 
         return mInjector.binderWithCleanCallingIdentity(
-                () -> mInjector.getConnectivityManager().getVpnLockdownAllowlist(
-                        caller.getUserId()));
+                () -> mInjector.getVpnManager().getVpnLockdownAllowlist(caller.getUserId()));
     }
 
     private void forceWipeDeviceNoLock(boolean wipeExtRequested, String reason, boolean wipeEuicc,