summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNataniel Borges <natanieljr@google.com>2021-02-19 15:25:33 +0000
committerNataniel Borges <natanieljr@google.com>2021-02-19 15:25:33 +0000
commit51bf8e979eddcf9c8b3d2a8a96d49ed52aa7f8b6 (patch)
treea15527c02e70f6377c199e37598c2ad263febfb9
parent279b79f062b2fe79e9a18620281da872f7f99a20 (diff)
Revert "Delete VPN methods in ConnectivityManager."
This reverts commit 279b79f062b2fe79e9a18620281da872f7f99a20. Bug: 180710918 Reason for revert: Broken build Change-Id: I6e6318b4c01ccab27ca3e9f16bb2194aa1d9ffd2
-rw-r--r--packages/Connectivity/framework/src/android/net/ConnectivityManager.java73
-rw-r--r--packages/VpnDialogs/src/com/android/vpndialogs/AlwaysOnDisconnectedDialog.java8
-rw-r--r--packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java5
3 files changed, 81 insertions, 5 deletions
diff --git a/packages/Connectivity/framework/src/android/net/ConnectivityManager.java b/packages/Connectivity/framework/src/android/net/ConnectivityManager.java
index 071ec34b620c..d3414a404d7c 100644
--- a/packages/Connectivity/framework/src/android/net/ConnectivityManager.java
+++ b/packages/Connectivity/framework/src/android/net/ConnectivityManager.java
@@ -1070,6 +1070,58 @@ public class ConnectivityManager {
}
/**
+ * Calls VpnManager#isAlwaysOnVpnPackageSupportedForUser.
+ * @deprecated TODO: remove when callers have migrated to VpnManager.
+ * @hide
+ */
+ @Deprecated
+ public boolean isAlwaysOnVpnPackageSupportedForUser(int userId, @Nullable String vpnPackage) {
+ return getVpnManager().isAlwaysOnVpnPackageSupportedForUser(userId, vpnPackage);
+ }
+
+ /**
+ * Calls VpnManager#setAlwaysOnVpnPackageForUser.
+ * @deprecated TODO: remove when callers have migrated to VpnManager.
+ * @hide
+ */
+ @Deprecated
+ public boolean setAlwaysOnVpnPackageForUser(int userId, @Nullable String vpnPackage,
+ boolean lockdownEnabled, @Nullable List<String> lockdownAllowlist) {
+ return getVpnManager().setAlwaysOnVpnPackageForUser(userId, vpnPackage, lockdownEnabled,
+ lockdownAllowlist);
+ }
+
+ /**
+ * Calls VpnManager#getAlwaysOnVpnPackageForUser.
+ * @deprecated TODO: remove when callers have migrated to VpnManager.
+ * @hide
+ */
+ @Deprecated
+ public String getAlwaysOnVpnPackageForUser(int userId) {
+ return getVpnManager().getAlwaysOnVpnPackageForUser(userId);
+ }
+
+ /**
+ * Calls VpnManager#isVpnLockdownEnabled.
+ * @deprecated TODO: remove when callers have migrated to VpnManager.
+ * @hide
+ */
+ @Deprecated
+ public boolean isVpnLockdownEnabled(int userId) {
+ return getVpnManager().isVpnLockdownEnabled(userId);
+ }
+
+ /**
+ * Calls VpnManager#getVpnLockdownAllowlist.
+ * @deprecated TODO: remove when callers have migrated to VpnManager.
+ * @hide
+ */
+ @Deprecated
+ public List<String> getVpnLockdownAllowlist(int userId) {
+ return getVpnManager().getVpnLockdownAllowlist(userId);
+ }
+
+ /**
* Adds or removes a requirement for given UID ranges to use the VPN.
*
* If set to {@code true}, informs the system that the UIDs in the specified ranges must not
@@ -3115,6 +3167,16 @@ public class ConnectivityManager {
}
/**
+ * Calls VpnManager#updateLockdownVpn.
+ * @deprecated TODO: remove when callers have migrated to VpnManager.
+ * @hide
+ */
+ @Deprecated
+ public boolean updateLockdownVpn() {
+ return getVpnManager().updateLockdownVpn();
+ }
+
+ /**
* Set sign in error notification to visible or invisible
*
* @hide
@@ -4475,6 +4537,8 @@ public class ConnectivityManager {
try {
mService.factoryReset();
mTetheringManager.stopAllTethering();
+ // TODO: Migrate callers to VpnManager#factoryReset.
+ getVpnManager().factoryReset();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -4768,6 +4832,15 @@ public class ConnectivityManager {
return new TestNetworkManager(ITestNetworkManager.Stub.asInterface(tnBinder));
}
+ /**
+ * Temporary hack to shim calls from ConnectivityManager to VpnManager. We cannot store a
+ * private final mVpnManager because ConnectivityManager is initialized before VpnManager.
+ * @hide TODO: remove.
+ */
+ public VpnManager getVpnManager() {
+ return mContext.getSystemService(VpnManager.class);
+ }
+
/** @hide */
public ConnectivityDiagnosticsManager createDiagnosticsManager() {
return new ConnectivityDiagnosticsManager(mContext, mService);
diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/AlwaysOnDisconnectedDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/AlwaysOnDisconnectedDialog.java
index 3502baa99b6d..6dcad255eee4 100644
--- a/packages/VpnDialogs/src/com/android/vpndialogs/AlwaysOnDisconnectedDialog.java
+++ b/packages/VpnDialogs/src/com/android/vpndialogs/AlwaysOnDisconnectedDialog.java
@@ -23,7 +23,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
-import android.net.VpnManager;
+import android.net.ConnectivityManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.provider.Settings;
@@ -42,7 +42,7 @@ public class AlwaysOnDisconnectedDialog extends AlertActivity
private static final String TAG = "VpnDisconnected";
- private VpnManager mService;
+ private ConnectivityManager mService;
private int mUserId;
private String mVpnPackage;
@@ -51,8 +51,8 @@ public class AlwaysOnDisconnectedDialog extends AlertActivity
super.onCreate(savedInstanceState);
mUserId = UserHandle.myUserId();
- final VpnManager vm = getSystemService(VpnManager.class);
- mVpnPackage = vm.getAlwaysOnVpnPackageForUser(mUserId);
+ final ConnectivityManager cm = getSystemService(ConnectivityManager.class);
+ mVpnPackage = cm.getAlwaysOnVpnPackageForUser(mUserId);
if (mVpnPackage == null) {
finish();
return;
diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
index fb2367843fc1..aab01d03b96d 100644
--- a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
+++ b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
@@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTE
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
+import android.net.ConnectivityManager;
import android.net.VpnManager;
import android.os.Bundle;
import android.os.UserHandle;
@@ -44,6 +45,7 @@ public class ConfirmDialog extends AlertActivity
private String mPackage;
+ private ConnectivityManager mCm; // TODO: switch entirely to VpnManager once VPN code moves
private VpnManager mVm;
public ConfirmDialog() {
@@ -58,6 +60,7 @@ public class ConfirmDialog extends AlertActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPackage = getCallingPackage();
+ mCm = getSystemService(ConnectivityManager.class);
mVm = getSystemService(VpnManager.class);
if (mVm.prepareVpn(mPackage, null, UserHandle.myUserId())) {
@@ -69,7 +72,7 @@ public class ConfirmDialog extends AlertActivity
finish();
return;
}
- final String alwaysOnVpnPackage = mVm.getAlwaysOnVpnPackageForUser(UserHandle.myUserId());
+ final String alwaysOnVpnPackage = mCm.getAlwaysOnVpnPackageForUser(UserHandle.myUserId());
// Can't prepare new vpn app when another vpn is always-on
if (alwaysOnVpnPackage != null && !alwaysOnVpnPackage.equals(mPackage)) {
finish();