use hostname when address null ProxyProperties parcelling

In ProxyProperties parcel, use toString so that hostname
is used when address is null

Change-Id: I4813dbdaf3c4a7bb404edf960d0f990c732ec0b8
This commit is contained in:
Irfan Sheriff
2010-09-26 14:54:54 -07:00
parent c5a22a088a
commit 30bdeb33fe

View File

@@ -88,13 +88,23 @@ public class ProxyProperties implements Parcelable {
* @hide * @hide
*/ */
public void writeToParcel(Parcel dest, int flags) { public void writeToParcel(Parcel dest, int flags) {
String host = null;
if (mProxy != null) { if (mProxy != null) {
try {
InetAddress addr = mProxy.getAddress(); InetAddress addr = mProxy.getAddress();
if (addr != null) { if (addr != null) {
dest.writeByte((byte)1); host = addr.getHostAddress();
dest.writeByteArray(addr.getAddress()); } else {
dest.writeInt(mProxy.getPort()); /* Does not resolve when addr is null */
host = mProxy.getHostName();
} }
} catch (Exception e) { }
}
if (host != null) {
dest.writeByte((byte)1);
dest.writeString(host);
dest.writeInt(mProxy.getPort());
} else { } else {
dest.writeByte((byte)0); dest.writeByte((byte)0);
} }
@@ -111,9 +121,11 @@ public class ProxyProperties implements Parcelable {
ProxyProperties proxyProperties = new ProxyProperties(); ProxyProperties proxyProperties = new ProxyProperties();
if (in.readByte() == 1) { if (in.readByte() == 1) {
try { try {
InetAddress addr = InetAddress.getByAddress(in.createByteArray()); String host = in.readString();
proxyProperties.setSocketAddress(new InetSocketAddress(addr, in.readInt())); int port = in.readInt();
} catch (UnknownHostException e) { } proxyProperties.setSocketAddress(InetSocketAddress.createUnresolved(
host, port));
} catch (IllegalArgumentException e) { }
} }
proxyProperties.setExclusionList(in.readString()); proxyProperties.setExclusionList(in.readString());
return proxyProperties; return proxyProperties;