diff options
| author | Jason Monk <jmonk@google.com> | 2014-04-25 15:00:09 -0400 |
|---|---|---|
| committer | Jason Monk <jmonk@google.com> | 2014-05-07 14:23:53 -0400 |
| commit | 207900c23b26d0df9ab28c709db4a1007d7d7904 (patch) | |
| tree | 435db4b93fe8094e3ae475558f37c12ead07cccb /core/java/android/net/ProxyProperties.java | |
| parent | 627aad9c200cb19aa505504dcd232a3710e96a25 (diff) | |
Make proxy API public
Also exposed proxy-related functions that were on the
ConnectivityManager.
Change-Id: I9fb5f1bcc257a6198679ea1d56e18da2ec5a3b33
Diffstat (limited to 'core/java/android/net/ProxyProperties.java')
| -rw-r--r-- | core/java/android/net/ProxyProperties.java | 273 |
1 files changed, 0 insertions, 273 deletions
diff --git a/core/java/android/net/ProxyProperties.java b/core/java/android/net/ProxyProperties.java deleted file mode 100644 index 50f45e8b5ec9..000000000000 --- a/core/java/android/net/ProxyProperties.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.net; - - -import android.os.Parcel; -import android.os.Parcelable; -import android.text.TextUtils; - -import java.net.InetSocketAddress; -import java.util.Locale; - -/** - * A container class for the http proxy info - * @hide - */ -public class ProxyProperties implements Parcelable { - - private String mHost; - private int mPort; - private String mExclusionList; - private String[] mParsedExclusionList; - - private String mPacFileUrl; - public static final String LOCAL_EXCL_LIST = ""; - public static final int LOCAL_PORT = -1; - public static final String LOCAL_HOST = "localhost"; - - public ProxyProperties(String host, int port, String exclList) { - mHost = host; - mPort = port; - setExclusionList(exclList); - } - - public ProxyProperties(String pacFileUrl) { - mHost = LOCAL_HOST; - mPort = LOCAL_PORT; - setExclusionList(LOCAL_EXCL_LIST); - mPacFileUrl = pacFileUrl; - } - - // Only used in PacManager after Local Proxy is bound. - public ProxyProperties(String pacFileUrl, int localProxyPort) { - mHost = LOCAL_HOST; - mPort = localProxyPort; - setExclusionList(LOCAL_EXCL_LIST); - mPacFileUrl = pacFileUrl; - } - - private ProxyProperties(String host, int port, String exclList, String[] parsedExclList) { - mHost = host; - mPort = port; - mExclusionList = exclList; - mParsedExclusionList = parsedExclList; - mPacFileUrl = null; - } - - // copy constructor instead of clone - public ProxyProperties(ProxyProperties source) { - if (source != null) { - mHost = source.getHost(); - mPort = source.getPort(); - mPacFileUrl = source.getPacFileUrl(); - mExclusionList = source.getExclusionList(); - mParsedExclusionList = source.mParsedExclusionList; - } - } - - public InetSocketAddress getSocketAddress() { - InetSocketAddress inetSocketAddress = null; - try { - inetSocketAddress = new InetSocketAddress(mHost, mPort); - } catch (IllegalArgumentException e) { } - return inetSocketAddress; - } - - public String getPacFileUrl() { - return mPacFileUrl; - } - - public String getHost() { - return mHost; - } - - public int getPort() { - return mPort; - } - - // comma separated - public String getExclusionList() { - return mExclusionList; - } - - // comma separated - private void setExclusionList(String exclusionList) { - mExclusionList = exclusionList; - if (mExclusionList == null) { - mParsedExclusionList = new String[0]; - } else { - String splitExclusionList[] = exclusionList.toLowerCase(Locale.ROOT).split(","); - mParsedExclusionList = new String[splitExclusionList.length * 2]; - for (int i = 0; i < splitExclusionList.length; i++) { - String s = splitExclusionList[i].trim(); - if (s.startsWith(".")) s = s.substring(1); - mParsedExclusionList[i*2] = s; - mParsedExclusionList[(i*2)+1] = "." + s; - } - } - } - - public boolean isExcluded(String url) { - if (TextUtils.isEmpty(url) || mParsedExclusionList == null || - mParsedExclusionList.length == 0) return false; - - Uri u = Uri.parse(url); - String urlDomain = u.getHost(); - if (urlDomain == null) return false; - for (int i = 0; i< mParsedExclusionList.length; i+=2) { - if (urlDomain.equals(mParsedExclusionList[i]) || - urlDomain.endsWith(mParsedExclusionList[i+1])) { - return true; - } - } - return false; - } - - public boolean isValid() { - if (!TextUtils.isEmpty(mPacFileUrl)) return true; - return Proxy.PROXY_VALID == Proxy.validate(mHost == null ? "" : mHost, - mPort == 0 ? "" : Integer.toString(mPort), - mExclusionList == null ? "" : mExclusionList); - } - - public java.net.Proxy makeProxy() { - java.net.Proxy proxy = java.net.Proxy.NO_PROXY; - if (mHost != null) { - try { - InetSocketAddress inetSocketAddress = new InetSocketAddress(mHost, mPort); - proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, inetSocketAddress); - } catch (IllegalArgumentException e) { - } - } - return proxy; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - if (mPacFileUrl != null) { - sb.append("PAC Script: "); - sb.append(mPacFileUrl); - } else if (mHost != null) { - sb.append("["); - sb.append(mHost); - sb.append("] "); - sb.append(Integer.toString(mPort)); - if (mExclusionList != null) { - sb.append(" xl=").append(mExclusionList); - } - } else { - sb.append("[ProxyProperties.mHost == null]"); - } - return sb.toString(); - } - - @Override - public boolean equals(Object o) { - if (!(o instanceof ProxyProperties)) return false; - ProxyProperties p = (ProxyProperties)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)) { - return mPacFileUrl.equals(p.getPacFileUrl()) && mPort == p.mPort; - } - if (!TextUtils.isEmpty(p.getPacFileUrl())) { - return false; - } - if (mExclusionList != null && !mExclusionList.equals(p.getExclusionList())) return false; - if (mHost != null && p.getHost() != null && mHost.equals(p.getHost()) == false) { - return false; - } - if (mHost != null && p.mHost == null) return false; - if (mHost == null && p.mHost != null) return false; - if (mPort != p.mPort) return false; - return true; - } - - /** - * Implement the Parcelable interface - * @hide - */ - public int describeContents() { - return 0; - } - - @Override - /* - * generate hashcode based on significant fields - */ - public int hashCode() { - return ((null == mHost) ? 0 : mHost.hashCode()) - + ((null == mExclusionList) ? 0 : mExclusionList.hashCode()) - + mPort; - } - - /** - * Implement the Parcelable interface. - * @hide - */ - public void writeToParcel(Parcel dest, int flags) { - if (mPacFileUrl != null) { - dest.writeByte((byte)1); - dest.writeString(mPacFileUrl); - dest.writeInt(mPort); - return; - } else { - dest.writeByte((byte)0); - } - if (mHost != null) { - dest.writeByte((byte)1); - dest.writeString(mHost); - dest.writeInt(mPort); - } else { - dest.writeByte((byte)0); - } - dest.writeString(mExclusionList); - dest.writeStringArray(mParsedExclusionList); - } - - /** - * Implement the Parcelable interface. - * @hide - */ - public static final Creator<ProxyProperties> CREATOR = - new Creator<ProxyProperties>() { - public ProxyProperties createFromParcel(Parcel in) { - String host = null; - int port = 0; - if (in.readByte() != 0) { - String url = in.readString(); - int localPort = in.readInt(); - return new ProxyProperties(url, localPort); - } - if (in.readByte() != 0) { - host = in.readString(); - port = in.readInt(); - } - String exclList = in.readString(); - String[] parsedExclList = in.readStringArray(); - ProxyProperties proxyProperties = - new ProxyProperties(host, port, exclList, parsedExclList); - return proxyProperties; - } - - public ProxyProperties[] newArray(int size) { - return new ProxyProperties[size]; - } - }; -} |
