Throw UnsupportedOperationException if startLegacyVpn is called
Legacy VPN is deprecated starting from Android S. So this API
shouldn't be called if the initial SDK version of device is
Android S+. Otherwise, UnsupportedOperationException will be
thrown.
Bug: 189808606
Test: 1. make gts && gts-tradefed
2. run gts --module GtsNetworkStackHostTestCases
Change-Id: I00f49555bbbc8ccf270056f0e4d1bfdd927ef26d
Merged-In: I00f49555bbbc8ccf270056f0e4d1bfdd927ef26d
This commit is contained in:
@@ -389,6 +389,10 @@ public class VpnManager {
|
||||
|
||||
/**
|
||||
* Starts a legacy VPN.
|
||||
*
|
||||
* Legacy VPN is deprecated starting from Android S. So this API shouldn't be called if the
|
||||
* initial SDK version of device is Android S+. Otherwise, UnsupportedOperationException will be
|
||||
* thrown.
|
||||
* @hide
|
||||
*/
|
||||
public void startLegacyVpn(VpnProfile profile) {
|
||||
|
||||
@@ -38,6 +38,7 @@ import android.net.VpnManager;
|
||||
import android.net.VpnService;
|
||||
import android.net.util.NetdService;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.INetworkManagementService;
|
||||
@@ -348,9 +349,17 @@ public class VpnManagerService extends IVpnManager.Stub {
|
||||
/**
|
||||
* Start legacy VPN, controlling native daemons as needed. Creates a
|
||||
* secondary thread to perform connection work, returning quickly.
|
||||
*
|
||||
* Legacy VPN is deprecated starting from Android S. So this API shouldn't be called if the
|
||||
* initial SDK version of device is Android S+. Otherwise, UnsupportedOperationException will be
|
||||
* thrown.
|
||||
*/
|
||||
@SuppressWarnings("AndroidFrameworkCompatChange") // This is not an app-visible API.
|
||||
@Override
|
||||
public void startLegacyVpn(VpnProfile profile) {
|
||||
if (Build.VERSION.DEVICE_INITIAL_SDK_INT >= Build.VERSION_CODES.S) {
|
||||
throw new UnsupportedOperationException("Legacy VPN is deprecated");
|
||||
}
|
||||
int user = UserHandle.getUserId(mDeps.getCallingUid());
|
||||
// Note that if the caller is not system (uid >= Process.FIRST_APPLICATION_UID),
|
||||
// the code might not work well since getActiveNetwork might return null if the uid is
|
||||
|
||||
Reference in New Issue
Block a user