Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa2b03ec authored by Nataniel Borges's avatar Nataniel Borges Committed by Automerger Merge Worker
Browse files

Merge "Revert "Delete VPN methods in ConnectivityManager."" am: 7096dead am: d88a8d20

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1596592

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ice973f502bb389d1ff400bbcd206987d48ff07dd
parents adf1883c d88a8d20
Loading
Loading
Loading
Loading
+73 −0
Original line number Diff line number Diff line
@@ -1069,6 +1069,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.
     *
@@ -3114,6 +3166,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
     *
@@ -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);
+4 −4
Original line number Diff line number Diff line
@@ -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;
+4 −1
Original line number Diff line number Diff line
@@ -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();