Rename NetworkProperties to LinkProperties
Also add copy constructors and use them when giving out data.
Change-Id: Id320eb8fb91d0bd250305ce7bb4f628570215615
diff --git a/core/java/android/net/NetworkProperties.java b/core/java/android/net/LinkProperties.java
similarity index 75%
rename from core/java/android/net/NetworkProperties.java
rename to core/java/android/net/LinkProperties.java
index 03c0a2e..9cb38e3 100644
--- a/core/java/android/net/NetworkProperties.java
+++ b/core/java/android/net/LinkProperties.java
@@ -16,6 +16,7 @@
package android.net;
+import android.net.ProxyProperties;
import android.os.Parcelable;
import android.os.Parcel;
import android.util.Log;
@@ -26,14 +27,14 @@
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
/**
- * Describes the properties of a network interface or single address
- * of an interface.
+ * Describes the properties of a network link.
* TODO - consider adding optional fields like Apn and ApnType
* @hide
*/
-public class NetworkProperties implements Parcelable {
+public class LinkProperties implements Parcelable {
private NetworkInterface mIface;
private Collection<InetAddress> mAddresses;
@@ -41,49 +42,58 @@
private InetAddress mGateway;
private ProxyProperties mHttpProxy;
- public NetworkProperties() {
+ public LinkProperties() {
clear();
}
- public synchronized void setInterface(NetworkInterface iface) {
+ // copy constructor instead of clone
+ public LinkProperties(LinkProperties source) {
+ mIface = source.getInterface();
+ mAddresses = source.getAddresses();
+ mDnses = source.getDnses();
+ mGateway = source.getGateway();
+ mHttpProxy = new ProxyProperties(source.getHttpProxy());
+ }
+
+ public void setInterface(NetworkInterface iface) {
mIface = iface;
}
- public synchronized NetworkInterface getInterface() {
+ public NetworkInterface getInterface() {
return mIface;
}
- public synchronized String getInterfaceName() {
+ public String getInterfaceName() {
return (mIface == null ? null : mIface.getName());
}
- public synchronized void addAddress(InetAddress address) {
+ public void addAddress(InetAddress address) {
mAddresses.add(address);
}
- public synchronized Collection<InetAddress> getAddresses() {
- return mAddresses;
+ public Collection<InetAddress> getAddresses() {
+ return Collections.unmodifiableCollection(mAddresses);
}
- public synchronized void addDns(InetAddress dns) {
+ public void addDns(InetAddress dns) {
mDnses.add(dns);
}
- public synchronized Collection<InetAddress> getDnses() {
- return mDnses;
+ public Collection<InetAddress> getDnses() {
+ return Collections.unmodifiableCollection(mDnses);
}
- public synchronized void setGateway(InetAddress gateway) {
+ public void setGateway(InetAddress gateway) {
mGateway = gateway;
}
- public synchronized InetAddress getGateway() {
+ public InetAddress getGateway() {
return mGateway;
}
- public synchronized void setHttpProxy(ProxyProperties proxy) {
+ public void setHttpProxy(ProxyProperties proxy) {
mHttpProxy = proxy;
}
- public synchronized ProxyProperties getHttpProxy() {
+ public ProxyProperties getHttpProxy() {
return mHttpProxy;
}
- public synchronized void clear() {
+ public void clear() {
mIface = null;
mAddresses = new ArrayList<InetAddress>();
mDnses = new ArrayList<InetAddress>();
@@ -100,7 +110,7 @@
}
@Override
- public synchronized String toString() {
+ public String toString() {
String ifaceName = (mIface == null ? "" : "InterfaceName: " + mIface.getName() + " ");
String ip = "IpAddresses: [";
@@ -121,7 +131,7 @@
* Implement the Parcelable interface.
* @hide
*/
- public synchronized void writeToParcel(Parcel dest, int flags) {
+ public void writeToParcel(Parcel dest, int flags) {
dest.writeString(getInterfaceName());
dest.writeInt(mAddresses.size());
//TODO: explore an easy alternative to preserve hostname
@@ -151,10 +161,10 @@
* Implement the Parcelable interface.
* @hide
*/
- public static final Creator<NetworkProperties> CREATOR =
- new Creator<NetworkProperties>() {
- public NetworkProperties createFromParcel(Parcel in) {
- NetworkProperties netProp = new NetworkProperties();
+ public static final Creator<LinkProperties> CREATOR =
+ new Creator<LinkProperties>() {
+ public LinkProperties createFromParcel(Parcel in) {
+ LinkProperties netProp = new LinkProperties();
String iface = in.readString();
if (iface != null) {
try {
@@ -186,8 +196,8 @@
return netProp;
}
- public NetworkProperties[] newArray(int size) {
- return new NetworkProperties[size];
+ public LinkProperties[] newArray(int size) {
+ return new LinkProperties[size];
}
};
}
diff --git a/core/java/android/net/ProxyProperties.java b/core/java/android/net/ProxyProperties.java
index 207fb51..24f6766 100644
--- a/core/java/android/net/ProxyProperties.java
+++ b/core/java/android/net/ProxyProperties.java
@@ -36,24 +36,31 @@
public ProxyProperties() {
}
- public synchronized InetAddress getAddress() {
+ // copy constructor instead of clone
+ public ProxyProperties(ProxyProperties source) {
+ mProxy = source.getAddress();
+ mPort = source.getPort();
+ mExclusionList = new String(source.getExclusionList());
+ }
+
+ public InetAddress getAddress() {
return mProxy;
}
- public synchronized void setAddress(InetAddress proxy) {
+ public void setAddress(InetAddress proxy) {
mProxy = proxy;
}
- public synchronized int getPort() {
+ public int getPort() {
return mPort;
}
- public synchronized void setPort(int port) {
+ public void setPort(int port) {
mPort = port;
}
- public synchronized String getExclusionList() {
+ public String getExclusionList() {
return mExclusionList;
}
- public synchronized void setExclusionList(String exclusionList) {
+ public void setExclusionList(String exclusionList) {
mExclusionList = exclusionList;
}
@@ -77,7 +84,7 @@
* Implement the Parcelable interface.
* @hide
*/
- public synchronized void writeToParcel(Parcel dest, int flags) {
+ public void writeToParcel(Parcel dest, int flags) {
if (mProxy != null) {
dest.writeByte((byte)1);
dest.writeString(mProxy.getHostName());
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 57e8e02..6f23805 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -26,7 +26,7 @@
import android.net.IConnectivityManager;
import android.net.MobileDataStateTracker;
import android.net.NetworkInfo;
-import android.net.NetworkProperties;
+import android.net.LinkProperties;
import android.net.NetworkStateTracker;
import android.net.NetworkUtils;
import android.net.wifi.WifiStateTracker;
@@ -756,7 +756,6 @@
* specified host is to be routed
* @param hostAddress the IP address of the host to which the route is
* desired
- * todo - deprecate (only v4!)
* @return {@code true} on success, {@code false} on failure
*/
public boolean requestRouteToHost(int networkType, int hostAddress) {
@@ -813,7 +812,7 @@
return false;
}
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) return false;
String interfaceName = p.getInterfaceName();
@@ -1258,7 +1257,7 @@
private void addPrivateDnsRoutes(NetworkStateTracker nt) {
boolean privateDnsRouteSet = nt.isPrivateDnsRouteSet();
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) return;
String interfaceName = p.getInterfaceName();
@@ -1279,7 +1278,7 @@
private void removePrivateDnsRoutes(NetworkStateTracker nt) {
// TODO - we should do this explicitly but the NetUtils api doesnt
// support this yet - must remove all. No worse than before
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) return;
String interfaceName = p.getInterfaceName();
boolean privateDnsRouteSet = nt.isPrivateDnsRouteSet();
@@ -1295,7 +1294,7 @@
private void addDefaultRoute(NetworkStateTracker nt) {
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) return;
String interfaceName = p.getInterfaceName();
InetAddress defaultGatewayAddr = p.getGateway();
@@ -1311,7 +1310,7 @@
public void removeDefaultRoute(NetworkStateTracker nt) {
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) return;
String interfaceName = p.getInterfaceName();
@@ -1410,7 +1409,7 @@
NetworkStateTracker nt = mNetTrackers[i];
if (nt.getNetworkInfo().isConnected() &&
!nt.isTeardownRequested()) {
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) continue;
List pids = mNetRequestersPids[i];
for (int j=0; j<pids.size(); j++) {
@@ -1465,7 +1464,7 @@
// add default net's dns entries
NetworkStateTracker nt = mNetTrackers[netType];
if (nt != null && nt.getNetworkInfo().isConnected() && !nt.isTeardownRequested()) {
- NetworkProperties p = nt.getNetworkProperties();
+ LinkProperties p = nt.getLinkProperties();
if (p == null) return;
Collection<InetAddress> dnses = p.getDnses();
if (mNetAttributes[netType].isDefault()) {