Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa018890 authored by Robert Greenwalt's avatar Robert Greenwalt Committed by Android (Google) Code Review
Browse files

Merge "Some cleanup of Proxy class."

parents 53e7ae90 70af574b
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ public final class Proxy {
    // Set to true to enable extra debugging.
    private static final boolean DEBUG = false;

    // Used to notify an app that's caching the default connection proxy
    // that either the default connection or its proxy has changed
    public static final String PROXY_CHANGE_ACTION =
        "android.intent.action.PROXY_CHANGE";

@@ -74,9 +76,10 @@ public final class Proxy {
        EXCLLIST_PATTERN = Pattern.compile(EXCLLIST_REGEXP);
    }

    // useful because it holds the processed exclusion list - don't want to reparse it each time
    private static class ProxySpec {
        String[] exclusionList = null;
        InetSocketAddress proxyAddress = null;
        InetSocketAddress address = null;
        public ProxySpec() { };
    }

@@ -151,7 +154,7 @@ public final class Proxy {
                    retval = java.net.Proxy.NO_PROXY;
                } else {
                    retval =
                        new java.net.Proxy(java.net.Proxy.Type.HTTP, sGlobalProxySpec.proxyAddress);
                        new java.net.Proxy(java.net.Proxy.Type.HTTP, sGlobalProxySpec.address);
                }
            } else {
                // If network is WiFi, return no proxy.
@@ -187,7 +190,7 @@ public final class Proxy {
                parseGlobalProxyInfoReadLocked(ctx);
            }
            if (sGlobalProxySpec != null) {
                InetSocketAddress sa = sGlobalProxySpec.proxyAddress;
                InetSocketAddress sa = sGlobalProxySpec.address;
                return sa.getHostName();
            }
            return getDefaultHost();
@@ -210,7 +213,7 @@ public final class Proxy {
                parseGlobalProxyInfoReadLocked(ctx);
            }
            if (sGlobalProxySpec != null) {
                InetSocketAddress sa = sGlobalProxySpec.proxyAddress;
                InetSocketAddress sa = sGlobalProxySpec.address;
                return sa.getPort();
            }
            return getDefaultPort();
@@ -389,7 +392,7 @@ public final class Proxy {
        int port = parsePort(proxyHost);
        if (proxyHost != null) {
            sGlobalProxySpec = new ProxySpec();
            sGlobalProxySpec.proxyAddress = new InetSocketAddress(host, port);
            sGlobalProxySpec.address= new InetSocketAddress(host, port);
            if ((exclusionListSpec != null) && (exclusionListSpec.length() != 0)) {
                String[] exclusionListEntries = exclusionListSpec.toLowerCase().split(",");
                String[] processedEntries = new String[exclusionListEntries.length];
+15 −23
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.os.Parcel;
import android.os.Parcelable;

import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;

/**
@@ -29,8 +30,7 @@ import java.net.UnknownHostException;
 */
public class ProxyProperties implements Parcelable {

    private InetAddress mProxy;
    private int mPort;
    private InetSocketAddress mProxy;
    private String mExclusionList;

    public ProxyProperties() {
@@ -39,8 +39,7 @@ public class ProxyProperties implements Parcelable {
    // copy constructor instead of clone
    public ProxyProperties(ProxyProperties source) {
        if (source != null) {
            mProxy = source.getAddress();
            mPort = source.getPort();
            mProxy = source.getSocketAddress();
            String exclusionList = source.getExclusionList();
            if (exclusionList != null) {
                mExclusionList = new String(exclusionList);
@@ -48,22 +47,14 @@ public class ProxyProperties implements Parcelable {
        }
    }

    public InetAddress getAddress() {
    public InetSocketAddress getSocketAddress() {
        return mProxy;
    }

    public void setAddress(InetAddress proxy) {
    public void setSocketAddress(InetSocketAddress proxy) {
        mProxy = proxy;
    }

    public int getPort() {
        return mPort;
    }

    public void setPort(int port) {
        mPort = port;
    }

    public String getExclusionList() {
        return mExclusionList;
    }
@@ -76,7 +67,7 @@ public class ProxyProperties implements Parcelable {
    public String toString() {
        StringBuilder sb = new StringBuilder();
        if (mProxy != null) {
            sb.append(mProxy.getHostAddress()).append(":").append(mPort);
            sb.append(mProxy.toString());
            if (mExclusionList != null) {
                    sb.append(" xl=").append(mExclusionList);
            }
@@ -98,13 +89,15 @@ public class ProxyProperties implements Parcelable {
     */
    public void writeToParcel(Parcel dest, int flags) {
        if (mProxy != null) {
            InetAddress addr = mProxy.getAddress();
            if (addr != null) {
                dest.writeByte((byte)1);
            dest.writeString(mProxy.getHostName());
            dest.writeByteArray(mProxy.getAddress());
                dest.writeByteArray(addr.getAddress());
                dest.writeInt(mProxy.getPort());
            }
        } else {
            dest.writeByte((byte)0);
        }
        dest.writeInt(mPort);
        dest.writeString(mExclusionList);
    }

@@ -118,11 +111,10 @@ public class ProxyProperties implements Parcelable {
                ProxyProperties proxyProperties = new ProxyProperties();
                if (in.readByte() == 1) {
                    try {
                        proxyProperties.setAddress(InetAddress.getByAddress(in.readString(),
                                in.createByteArray()));
                        InetAddress addr = InetAddress.getByAddress(in.createByteArray());
                        proxyProperties.setSocketAddress(new InetSocketAddress(addr, in.readInt()));
                    } catch (UnknownHostException e) { }
                }
                proxyProperties.setPort(in.readInt());
                proxyProperties.setExclusionList(in.readString());
                return proxyProperties;
            }
+3 −2
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ import com.android.internal.telephony.DataConnection.FailCause;

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;

@@ -1104,8 +1105,8 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
            if (apn.proxy != null && apn.proxy.length() != 0) {
                try {
                    ProxyProperties proxy = new ProxyProperties();
                    proxy.setAddress(InetAddress.getByName(apn.proxy));
                    proxy.setPort(Integer.parseInt(apn.port));
                    proxy.setSocketAddress(new InetSocketAddress(InetAddress.getByName(apn.proxy),
                            Integer.parseInt(apn.port)));
                    mLinkProperties.setHttpProxy(proxy);
                } catch (UnknownHostException e) {
                    Log.e(LOG_TAG, "UnknownHostException making ProxyProperties: " + e);