Loading core/java/android/app/ActivityThread.java +2 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import android.hardware.display.DisplayManagerGlobal; import android.net.IConnectivityManager; import android.net.Proxy; import android.net.ProxyInfo; import android.net.Uri; import android.opengl.GLUtils; import android.os.AsyncTask; import android.os.Binder; Loading Loading @@ -839,7 +840,7 @@ public final class ActivityThread { InetAddress.clearDnsCache(); } public void setHttpProxy(String host, String port, String exclList, String pacFileUrl) { public void setHttpProxy(String host, String port, String exclList, Uri pacFileUrl) { Proxy.setHttpProxySystemProperty(host, port, exclList, pacFileUrl); } Loading core/java/android/app/ApplicationThreadNative.java +4 −3 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.pm.ProviderInfo; import android.content.pm.ServiceInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.net.Uri; import android.os.Binder; import android.os.Bundle; import android.os.Debug; Loading Loading @@ -339,7 +340,7 @@ public abstract class ApplicationThreadNative extends Binder final String proxy = data.readString(); final String port = data.readString(); final String exclList = data.readString(); final String pacFileUrl = data.readString(); final Uri pacFileUrl = Uri.CREATOR.createFromParcel(data); setHttpProxy(proxy, port, exclList, pacFileUrl); return true; } Loading Loading @@ -1008,13 +1009,13 @@ class ApplicationThreadProxy implements IApplicationThread { } public void setHttpProxy(String proxy, String port, String exclList, String pacFileUrl) throws RemoteException { Uri pacFileUrl) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeString(proxy); data.writeString(port); data.writeString(exclList); data.writeString(pacFileUrl); pacFileUrl.writeToParcel(data, 0); mRemote.transact(SET_HTTP_PROXY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } Loading core/java/android/app/IApplicationThread.java +2 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.pm.ProviderInfo; import android.content.pm.ServiceInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.os.Debug; import android.os.ParcelFileDescriptor; Loading Loading @@ -106,7 +107,7 @@ public interface IApplicationThread extends IInterface { void updateTimeZone() throws RemoteException; void clearDnsCache() throws RemoteException; void setHttpProxy(String proxy, String port, String exclList, String pacFileUrl) throws RemoteException; Uri pacFileUrl) throws RemoteException; void processInBackground() throws RemoteException; void dumpService(FileDescriptor fd, IBinder servicetoken, String[] args) throws RemoteException; Loading core/java/android/net/Proxy.java +4 −6 Original line number Diff line number Diff line Loading @@ -273,21 +273,19 @@ public final class Proxy { String host = null; String port = null; String exclList = null; String pacFileUrl = null; Uri pacFileUrl = Uri.EMPTY; if (p != null) { host = p.getHost(); port = Integer.toString(p.getPort()); exclList = p.getExclusionListAsString(); if (p.getPacFileUrl() != null) { pacFileUrl = p.getPacFileUrl().toString(); } pacFileUrl = p.getPacFileUrl(); } setHttpProxySystemProperty(host, port, exclList, pacFileUrl); } /** @hide */ public static final void setHttpProxySystemProperty(String host, String port, String exclList, String pacFileUrl) { Uri pacFileUrl) { if (exclList != null) exclList = exclList.replace(",", "|"); if (false) Log.d(TAG, "setHttpProxySystemProperty :"+host+":"+port+" - "+exclList); if (host != null) { Loading @@ -311,7 +309,7 @@ public final class Proxy { System.clearProperty("http.nonProxyHosts"); System.clearProperty("https.nonProxyHosts"); } if (!TextUtils.isEmpty(pacFileUrl)) { if (!Uri.EMPTY.equals(pacFileUrl)) { ProxySelector.setDefault(new PacProxySelector()); } else { ProxySelector.setDefault(sDefaultProxySelector); Loading core/java/android/net/ProxyInfo.java +37 −17 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ public class ProxyInfo implements Parcelable { private String mExclusionList; private String[] mParsedExclusionList; private String mPacFileUrl; private Uri mPacFileUrl; /** *@hide */ Loading Loading @@ -85,7 +85,7 @@ public class ProxyInfo implements Parcelable { * at the specified URL. */ public static ProxyInfo buildPacProxy(Uri pacUri) { return new ProxyInfo(pacUri.toString()); return new ProxyInfo(pacUri); } /** Loading @@ -96,27 +96,45 @@ public class ProxyInfo implements Parcelable { mHost = host; mPort = port; setExclusionList(exclList); mPacFileUrl = Uri.EMPTY; } /** * Create a ProxyProperties that points at a PAC URL. * @hide */ public ProxyInfo(String pacFileUrl) { public ProxyInfo(Uri pacFileUrl) { mHost = LOCAL_HOST; mPort = LOCAL_PORT; setExclusionList(LOCAL_EXCL_LIST); if (pacFileUrl == null) { throw new NullPointerException(); } mPacFileUrl = pacFileUrl; } /** * Create a ProxyProperties that points at a PAC URL. * @hide */ public ProxyInfo(String pacFileUrl) { mHost = LOCAL_HOST; mPort = LOCAL_PORT; setExclusionList(LOCAL_EXCL_LIST); mPacFileUrl = Uri.parse(pacFileUrl); } /** * Only used in PacManager after Local Proxy is bound. * @hide */ public ProxyInfo(String pacFileUrl, int localProxyPort) { public ProxyInfo(Uri pacFileUrl, int localProxyPort) { mHost = LOCAL_HOST; mPort = localProxyPort; setExclusionList(LOCAL_EXCL_LIST); if (pacFileUrl == null) { throw new NullPointerException(); } mPacFileUrl = pacFileUrl; } Loading @@ -125,7 +143,7 @@ public class ProxyInfo implements Parcelable { mPort = port; mExclusionList = exclList; mParsedExclusionList = parsedExclList; mPacFileUrl = null; mPacFileUrl = Uri.EMPTY; } // copy constructor instead of clone Loading @@ -137,6 +155,9 @@ public class ProxyInfo implements Parcelable { mHost = source.getHost(); mPort = source.getPort(); mPacFileUrl = source.mPacFileUrl; if (mPacFileUrl == null) { mPacFileUrl = Uri.EMPTY; } mExclusionList = source.getExclusionListAsString(); mParsedExclusionList = source.mParsedExclusionList; } Loading @@ -158,10 +179,7 @@ public class ProxyInfo implements Parcelable { * no PAC script. */ public Uri getPacFileUrl() { if (TextUtils.isEmpty(mPacFileUrl)) { return null; } return Uri.parse(mPacFileUrl); return mPacFileUrl; } /** Loading Loading @@ -210,7 +228,7 @@ public class ProxyInfo implements Parcelable { * @hide */ public boolean isValid() { if (!TextUtils.isEmpty(mPacFileUrl)) return true; if (!Uri.EMPTY.equals(mPacFileUrl)) return true; return Proxy.PROXY_VALID == Proxy.validate(mHost == null ? "" : mHost, mPort == 0 ? "" : Integer.toString(mPort), mExclusionList == null ? "" : mExclusionList); Loading @@ -234,7 +252,7 @@ public class ProxyInfo implements Parcelable { @Override public String toString() { StringBuilder sb = new StringBuilder(); if (mPacFileUrl != null) { if (!Uri.EMPTY.equals(mPacFileUrl)) { sb.append("PAC Script: "); sb.append(mPacFileUrl); } else if (mHost != null) { Loading @@ -257,13 +275,15 @@ public class ProxyInfo implements Parcelable { ProxyInfo p = (ProxyInfo)o; // If PAC URL is present in either then they must be equal. // Other parameters will only be for fall back. if (!TextUtils.isEmpty(mPacFileUrl)) { if (!Uri.EMPTY.equals(mPacFileUrl)) { return mPacFileUrl.equals(p.getPacFileUrl()) && mPort == p.mPort; } if (!TextUtils.isEmpty(p.mPacFileUrl)) { if (!Uri.EMPTY.equals(p.mPacFileUrl)) { return false; } if (mExclusionList != null && !mExclusionList.equals(p.getExclusionListAsString())) { return false; } if (mExclusionList != null && !mExclusionList.equals(p.getExclusionListAsString())) return false; if (mHost != null && p.getHost() != null && mHost.equals(p.getHost()) == false) { return false; } Loading Loading @@ -296,9 +316,9 @@ public class ProxyInfo implements Parcelable { * @hide */ public void writeToParcel(Parcel dest, int flags) { if (mPacFileUrl != null) { if (!Uri.EMPTY.equals(mPacFileUrl)) { dest.writeByte((byte)1); dest.writeString(mPacFileUrl); mPacFileUrl.writeToParcel(dest, 0); dest.writeInt(mPort); return; } else { Loading @@ -325,7 +345,7 @@ public class ProxyInfo implements Parcelable { String host = null; int port = 0; if (in.readByte() != 0) { String url = in.readString(); Uri url = Uri.CREATOR.createFromParcel(in); int localPort = in.readInt(); return new ProxyInfo(url, localPort); } Loading Loading
core/java/android/app/ActivityThread.java +2 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import android.hardware.display.DisplayManagerGlobal; import android.net.IConnectivityManager; import android.net.Proxy; import android.net.ProxyInfo; import android.net.Uri; import android.opengl.GLUtils; import android.os.AsyncTask; import android.os.Binder; Loading Loading @@ -839,7 +840,7 @@ public final class ActivityThread { InetAddress.clearDnsCache(); } public void setHttpProxy(String host, String port, String exclList, String pacFileUrl) { public void setHttpProxy(String host, String port, String exclList, Uri pacFileUrl) { Proxy.setHttpProxySystemProperty(host, port, exclList, pacFileUrl); } Loading
core/java/android/app/ApplicationThreadNative.java +4 −3 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.pm.ProviderInfo; import android.content.pm.ServiceInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.net.Uri; import android.os.Binder; import android.os.Bundle; import android.os.Debug; Loading Loading @@ -339,7 +340,7 @@ public abstract class ApplicationThreadNative extends Binder final String proxy = data.readString(); final String port = data.readString(); final String exclList = data.readString(); final String pacFileUrl = data.readString(); final Uri pacFileUrl = Uri.CREATOR.createFromParcel(data); setHttpProxy(proxy, port, exclList, pacFileUrl); return true; } Loading Loading @@ -1008,13 +1009,13 @@ class ApplicationThreadProxy implements IApplicationThread { } public void setHttpProxy(String proxy, String port, String exclList, String pacFileUrl) throws RemoteException { Uri pacFileUrl) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeString(proxy); data.writeString(port); data.writeString(exclList); data.writeString(pacFileUrl); pacFileUrl.writeToParcel(data, 0); mRemote.transact(SET_HTTP_PROXY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } Loading
core/java/android/app/IApplicationThread.java +2 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.pm.ProviderInfo; import android.content.pm.ServiceInfo; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.os.Debug; import android.os.ParcelFileDescriptor; Loading Loading @@ -106,7 +107,7 @@ public interface IApplicationThread extends IInterface { void updateTimeZone() throws RemoteException; void clearDnsCache() throws RemoteException; void setHttpProxy(String proxy, String port, String exclList, String pacFileUrl) throws RemoteException; Uri pacFileUrl) throws RemoteException; void processInBackground() throws RemoteException; void dumpService(FileDescriptor fd, IBinder servicetoken, String[] args) throws RemoteException; Loading
core/java/android/net/Proxy.java +4 −6 Original line number Diff line number Diff line Loading @@ -273,21 +273,19 @@ public final class Proxy { String host = null; String port = null; String exclList = null; String pacFileUrl = null; Uri pacFileUrl = Uri.EMPTY; if (p != null) { host = p.getHost(); port = Integer.toString(p.getPort()); exclList = p.getExclusionListAsString(); if (p.getPacFileUrl() != null) { pacFileUrl = p.getPacFileUrl().toString(); } pacFileUrl = p.getPacFileUrl(); } setHttpProxySystemProperty(host, port, exclList, pacFileUrl); } /** @hide */ public static final void setHttpProxySystemProperty(String host, String port, String exclList, String pacFileUrl) { Uri pacFileUrl) { if (exclList != null) exclList = exclList.replace(",", "|"); if (false) Log.d(TAG, "setHttpProxySystemProperty :"+host+":"+port+" - "+exclList); if (host != null) { Loading @@ -311,7 +309,7 @@ public final class Proxy { System.clearProperty("http.nonProxyHosts"); System.clearProperty("https.nonProxyHosts"); } if (!TextUtils.isEmpty(pacFileUrl)) { if (!Uri.EMPTY.equals(pacFileUrl)) { ProxySelector.setDefault(new PacProxySelector()); } else { ProxySelector.setDefault(sDefaultProxySelector); Loading
core/java/android/net/ProxyInfo.java +37 −17 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ public class ProxyInfo implements Parcelable { private String mExclusionList; private String[] mParsedExclusionList; private String mPacFileUrl; private Uri mPacFileUrl; /** *@hide */ Loading Loading @@ -85,7 +85,7 @@ public class ProxyInfo implements Parcelable { * at the specified URL. */ public static ProxyInfo buildPacProxy(Uri pacUri) { return new ProxyInfo(pacUri.toString()); return new ProxyInfo(pacUri); } /** Loading @@ -96,27 +96,45 @@ public class ProxyInfo implements Parcelable { mHost = host; mPort = port; setExclusionList(exclList); mPacFileUrl = Uri.EMPTY; } /** * Create a ProxyProperties that points at a PAC URL. * @hide */ public ProxyInfo(String pacFileUrl) { public ProxyInfo(Uri pacFileUrl) { mHost = LOCAL_HOST; mPort = LOCAL_PORT; setExclusionList(LOCAL_EXCL_LIST); if (pacFileUrl == null) { throw new NullPointerException(); } mPacFileUrl = pacFileUrl; } /** * Create a ProxyProperties that points at a PAC URL. * @hide */ public ProxyInfo(String pacFileUrl) { mHost = LOCAL_HOST; mPort = LOCAL_PORT; setExclusionList(LOCAL_EXCL_LIST); mPacFileUrl = Uri.parse(pacFileUrl); } /** * Only used in PacManager after Local Proxy is bound. * @hide */ public ProxyInfo(String pacFileUrl, int localProxyPort) { public ProxyInfo(Uri pacFileUrl, int localProxyPort) { mHost = LOCAL_HOST; mPort = localProxyPort; setExclusionList(LOCAL_EXCL_LIST); if (pacFileUrl == null) { throw new NullPointerException(); } mPacFileUrl = pacFileUrl; } Loading @@ -125,7 +143,7 @@ public class ProxyInfo implements Parcelable { mPort = port; mExclusionList = exclList; mParsedExclusionList = parsedExclList; mPacFileUrl = null; mPacFileUrl = Uri.EMPTY; } // copy constructor instead of clone Loading @@ -137,6 +155,9 @@ public class ProxyInfo implements Parcelable { mHost = source.getHost(); mPort = source.getPort(); mPacFileUrl = source.mPacFileUrl; if (mPacFileUrl == null) { mPacFileUrl = Uri.EMPTY; } mExclusionList = source.getExclusionListAsString(); mParsedExclusionList = source.mParsedExclusionList; } Loading @@ -158,10 +179,7 @@ public class ProxyInfo implements Parcelable { * no PAC script. */ public Uri getPacFileUrl() { if (TextUtils.isEmpty(mPacFileUrl)) { return null; } return Uri.parse(mPacFileUrl); return mPacFileUrl; } /** Loading Loading @@ -210,7 +228,7 @@ public class ProxyInfo implements Parcelable { * @hide */ public boolean isValid() { if (!TextUtils.isEmpty(mPacFileUrl)) return true; if (!Uri.EMPTY.equals(mPacFileUrl)) return true; return Proxy.PROXY_VALID == Proxy.validate(mHost == null ? "" : mHost, mPort == 0 ? "" : Integer.toString(mPort), mExclusionList == null ? "" : mExclusionList); Loading @@ -234,7 +252,7 @@ public class ProxyInfo implements Parcelable { @Override public String toString() { StringBuilder sb = new StringBuilder(); if (mPacFileUrl != null) { if (!Uri.EMPTY.equals(mPacFileUrl)) { sb.append("PAC Script: "); sb.append(mPacFileUrl); } else if (mHost != null) { Loading @@ -257,13 +275,15 @@ public class ProxyInfo implements Parcelable { ProxyInfo p = (ProxyInfo)o; // If PAC URL is present in either then they must be equal. // Other parameters will only be for fall back. if (!TextUtils.isEmpty(mPacFileUrl)) { if (!Uri.EMPTY.equals(mPacFileUrl)) { return mPacFileUrl.equals(p.getPacFileUrl()) && mPort == p.mPort; } if (!TextUtils.isEmpty(p.mPacFileUrl)) { if (!Uri.EMPTY.equals(p.mPacFileUrl)) { return false; } if (mExclusionList != null && !mExclusionList.equals(p.getExclusionListAsString())) { return false; } if (mExclusionList != null && !mExclusionList.equals(p.getExclusionListAsString())) return false; if (mHost != null && p.getHost() != null && mHost.equals(p.getHost()) == false) { return false; } Loading Loading @@ -296,9 +316,9 @@ public class ProxyInfo implements Parcelable { * @hide */ public void writeToParcel(Parcel dest, int flags) { if (mPacFileUrl != null) { if (!Uri.EMPTY.equals(mPacFileUrl)) { dest.writeByte((byte)1); dest.writeString(mPacFileUrl); mPacFileUrl.writeToParcel(dest, 0); dest.writeInt(mPort); return; } else { Loading @@ -325,7 +345,7 @@ public class ProxyInfo implements Parcelable { String host = null; int port = 0; if (in.readByte() != 0) { String url = in.readString(); Uri url = Uri.CREATOR.createFromParcel(in); int localPort = in.readInt(); return new ProxyInfo(url, localPort); } Loading