VPN: migrate from generic Bundle to our own Parcelable VpnConfig.
Note that VpnConfig is for internal use only.
Also remove hidden methods from ConnectivityManager.
Change-Id: Ic298c4dc9a2c6c452bd8f4be6fa84e7ac489c0c4
diff --git a/services/java/com/android/server/connectivity/Vpn.java b/services/java/com/android/server/connectivity/Vpn.java
index 941ab80..372ba85 100644
--- a/services/java/com/android/server/connectivity/Vpn.java
+++ b/services/java/com/android/server/connectivity/Vpn.java
@@ -29,12 +29,12 @@
import android.graphics.drawable.Drawable;
import android.net.INetworkManagementEventObserver;
import android.os.Binder;
-import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.util.Log;
import com.android.internal.R;
+import com.android.internal.net.VpnConfig;
import com.android.server.ConnectivityService.VpnCallback;
/**
@@ -108,7 +108,7 @@
* @param configuration The parameters to configure the interface.
* @return The file descriptor of the interface.
*/
- public synchronized ParcelFileDescriptor establish(Bundle config) {
+ public synchronized ParcelFileDescriptor establish(VpnConfig config) {
// Check the permission of the caller.
mContext.enforceCallingPermission(VPN, "establish");
@@ -124,17 +124,9 @@
throw new SecurityException("Not prepared");
}
- // Unpack the config.
- // TODO: move constants into VpnBuilder.
- int mtu = config.getInt("mtu", -1);
- String session = config.getString("session");
- String addresses = config.getString("addresses");
- String routes = config.getString("routes");
- String dnsServers = config.getString("dnsServers");
-
// Create and configure the interface.
- ParcelFileDescriptor descriptor =
- ParcelFileDescriptor.adoptFd(nativeEstablish(mtu, addresses, routes));
+ ParcelFileDescriptor descriptor = ParcelFileDescriptor.adoptFd(
+ nativeEstablish(config.mtu, config.addresses, config.routes));
// Replace the interface and abort if it fails.
try {
@@ -153,10 +145,10 @@
throw e;
}
- dnsServers = (dnsServers == null) ? "" : dnsServers.trim();
+ String dnsServers = (config.dnsServers == null) ? "" : config.dnsServers.trim();
mCallback.override(dnsServers.isEmpty() ? null : dnsServers.split(" "));
- showNotification(pm, app, session);
+ showNotification(pm, app, config.sessionName);
return descriptor;
}