VPN: Use List<String> instead for dnsServers and searchDomains.
Change-Id: I5d72c182ad47f59121a04b68ec6c2d164e2d00a8
This commit is contained in:
@@ -23,6 +23,8 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.os.SystemClock;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A simple container used to carry information in VpnBuilder, VpnDialogs,
|
||||
* and com.android.server.connectivity.Vpn. Internal use only.
|
||||
@@ -62,7 +64,8 @@ public class VpnConfig implements Parcelable {
|
||||
public int mtu = -1;
|
||||
public String addresses;
|
||||
public String routes;
|
||||
public String dnsServers;
|
||||
public List<String> dnsServers;
|
||||
public List<String> searchDomains;
|
||||
public long startTime = -1;
|
||||
|
||||
@Override
|
||||
@@ -79,7 +82,8 @@ public class VpnConfig implements Parcelable {
|
||||
out.writeInt(mtu);
|
||||
out.writeString(addresses);
|
||||
out.writeString(routes);
|
||||
out.writeString(dnsServers);
|
||||
out.writeStringList(dnsServers);
|
||||
out.writeStringList(searchDomains);
|
||||
out.writeLong(startTime);
|
||||
}
|
||||
|
||||
@@ -95,7 +99,8 @@ public class VpnConfig implements Parcelable {
|
||||
config.mtu = in.readInt();
|
||||
config.addresses = in.readString();
|
||||
config.routes = in.readString();
|
||||
config.dnsServers = in.readString();
|
||||
config.dnsServers = in.createStringArrayList();
|
||||
config.searchDomains = in.createStringArrayList();
|
||||
config.startTime = in.readLong();
|
||||
return config;
|
||||
}
|
||||
|
||||
@@ -2533,7 +2533,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
private VpnCallback() {
|
||||
}
|
||||
|
||||
public synchronized void override(String[] dnsServers) {
|
||||
public synchronized void override(List<String> dnsServers, List<String> searchDomains) {
|
||||
// TODO: override DNS servers and http proxy.
|
||||
}
|
||||
|
||||
|
||||
@@ -190,11 +190,14 @@ public class Vpn extends INetworkManagementEventObserver.Stub {
|
||||
throw e;
|
||||
}
|
||||
|
||||
String dnsServers = (config.dnsServers == null) ? "" : config.dnsServers.trim();
|
||||
mCallback.override(dnsServers.isEmpty() ? null : dnsServers.split(" "));
|
||||
// Override DNS servers and search domains.
|
||||
mCallback.override(config.dnsServers, config.searchDomains);
|
||||
|
||||
// Fill more values.
|
||||
config.packageName = mPackageName;
|
||||
config.interfaceName = mInterfaceName;
|
||||
|
||||
// Show the notification!
|
||||
showNotification(config, label, bitmap);
|
||||
return descriptor;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user