Loading api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -28936,14 +28936,17 @@ package android.net { } public class ProxyInfo implements android.os.Parcelable { ctor public ProxyInfo(@Nullable android.net.ProxyInfo); method public static android.net.ProxyInfo buildDirectProxy(String, int); method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>); method public static android.net.ProxyInfo buildPacProxy(android.net.Uri); method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int); method public int describeContents(); method public String[] getExclusionList(); method public String getHost(); method public android.net.Uri getPacFileUrl(); method public int getPort(); method public boolean isValid(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR; } api/system-current.txt +27 −0 Original line number Diff line number Diff line Loading @@ -4064,6 +4064,33 @@ package android.net { method public void onUpstreamChanged(@Nullable android.net.Network); } public final class IpConfiguration implements android.os.Parcelable { ctor public IpConfiguration(); ctor public IpConfiguration(@NonNull android.net.IpConfiguration); method @Nullable public android.net.ProxyInfo getHttpProxy(); method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment(); method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings(); method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration(); method public void setHttpProxy(@Nullable android.net.ProxyInfo); method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment); method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings); method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR; } public enum IpConfiguration.IpAssignment { enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP; enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC; enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED; } public enum IpConfiguration.ProxySettings { enum_constant public static final android.net.IpConfiguration.ProxySettings NONE; enum_constant public static final android.net.IpConfiguration.ProxySettings PAC; enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC; enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED; } public final class IpPrefix implements android.os.Parcelable { ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); ctor public IpPrefix(@NonNull String); Loading core/java/android/net/IpConfiguration.java +38 −16 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package android.net; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.UnsupportedAppUsage; import android.net.StaticIpConfiguration; import android.os.Parcel; Loading @@ -27,13 +31,17 @@ import java.util.Objects; * A class representing a configured network. * @hide */ public class IpConfiguration implements Parcelable { @SystemApi public final class IpConfiguration implements Parcelable { private static final String TAG = "IpConfiguration"; // This enum has been used by apps through reflection for many releases. // Therefore they can't just be removed. Duplicating these constants to // give an alternate SystemApi is a worse option than exposing them. @SuppressLint("Enum") public enum IpAssignment { /* Use statically configured IP settings. Configuration can be accessed * with staticIpConfiguration */ @UnsupportedAppUsage STATIC, /* Use dynamically configured IP settings */ DHCP, Loading @@ -42,14 +50,19 @@ public class IpConfiguration implements Parcelable { UNASSIGNED } /** @hide */ public IpAssignment ipAssignment; /** @hide */ public StaticIpConfiguration staticIpConfiguration; // This enum has been used by apps through reflection for many releases. // Therefore they can't just be removed. Duplicating these constants to // give an alternate SystemApi is a worse option than exposing them. @SuppressLint("Enum") public enum ProxySettings { /* No proxy is to be used. Any existing proxy settings * should be cleared. */ @UnsupportedAppUsage NONE, /* Use statically configured proxy. Configuration can be accessed * with httpProxy. */ Loading @@ -62,8 +75,10 @@ public class IpConfiguration implements Parcelable { PAC } /** @hide */ public ProxySettings proxySettings; /** @hide */ @UnsupportedAppUsage public ProxyInfo httpProxy; Loading @@ -83,6 +98,7 @@ public class IpConfiguration implements Parcelable { init(IpAssignment.UNASSIGNED, ProxySettings.UNASSIGNED, null, null); } /** @hide */ @UnsupportedAppUsage public IpConfiguration(IpAssignment ipAssignment, ProxySettings proxySettings, Loading @@ -91,7 +107,7 @@ public class IpConfiguration implements Parcelable { init(ipAssignment, proxySettings, staticIpConfiguration, httpProxy); } public IpConfiguration(IpConfiguration source) { public IpConfiguration(@NonNull IpConfiguration source) { this(); if (source != null) { init(source.ipAssignment, source.proxySettings, Loading @@ -99,35 +115,35 @@ public class IpConfiguration implements Parcelable { } } public IpAssignment getIpAssignment() { public @NonNull IpAssignment getIpAssignment() { return ipAssignment; } public void setIpAssignment(IpAssignment ipAssignment) { public void setIpAssignment(@NonNull IpAssignment ipAssignment) { this.ipAssignment = ipAssignment; } public StaticIpConfiguration getStaticIpConfiguration() { public @Nullable StaticIpConfiguration getStaticIpConfiguration() { return staticIpConfiguration; } public void setStaticIpConfiguration(StaticIpConfiguration staticIpConfiguration) { public void setStaticIpConfiguration(@Nullable StaticIpConfiguration staticIpConfiguration) { this.staticIpConfiguration = staticIpConfiguration; } public ProxySettings getProxySettings() { public @NonNull ProxySettings getProxySettings() { return proxySettings; } public void setProxySettings(ProxySettings proxySettings) { public void setProxySettings(@NonNull ProxySettings proxySettings) { this.proxySettings = proxySettings; } public ProxyInfo getHttpProxy() { public @Nullable ProxyInfo getHttpProxy() { return httpProxy; } public void setHttpProxy(ProxyInfo httpProxy) { public void setHttpProxy(@Nullable ProxyInfo httpProxy) { this.httpProxy = httpProxy; } Loading Loading @@ -175,13 +191,19 @@ public class IpConfiguration implements Parcelable { 83 * httpProxy.hashCode(); } /** Implement the Parcelable interface */ /** * Implement the Parcelable interface * @hide */ public int describeContents() { return 0; } /** Implement the Parcelable interface */ public void writeToParcel(Parcel dest, int flags) { /** * Implement the Parcelable interface * @hide */ public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeString(ipAssignment.name()); dest.writeString(proxySettings.name()); dest.writeParcelable(staticIpConfiguration, flags); Loading @@ -189,7 +211,7 @@ public class IpConfiguration implements Parcelable { } /** Implement the Parcelable interface */ public static final @android.annotation.NonNull Creator<IpConfiguration> CREATOR = public static final @NonNull Creator<IpConfiguration> CREATOR = new Creator<IpConfiguration>() { public IpConfiguration createFromParcel(Parcel in) { IpConfiguration config = new IpConfiguration(); Loading core/java/android/net/ProxyInfo.java +17 −7 Original line number Diff line number Diff line Loading @@ -16,7 +16,8 @@ package android.net; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -88,6 +89,15 @@ public class ProxyInfo implements Parcelable { return new ProxyInfo(pacUri); } /** * Construct a {@link ProxyInfo} object that will download and run the PAC script at the * specified URL and port. */ @NonNull public static ProxyInfo buildPacProxy(@NonNull Uri pacUrl, int port) { return new ProxyInfo(pacUrl, port); } /** * Create a ProxyProperties that points at a HTTP Proxy. * @hide Loading @@ -105,7 +115,7 @@ public class ProxyInfo implements Parcelable { * Create a ProxyProperties that points at a PAC URL. * @hide */ public ProxyInfo(Uri pacFileUrl) { public ProxyInfo(@NonNull Uri pacFileUrl) { mHost = LOCAL_HOST; mPort = LOCAL_PORT; mExclusionList = LOCAL_EXCL_LIST; Loading @@ -132,7 +142,7 @@ public class ProxyInfo implements Parcelable { * Only used in PacManager after Local Proxy is bound. * @hide */ public ProxyInfo(Uri pacFileUrl, int localProxyPort) { public ProxyInfo(@NonNull Uri pacFileUrl, int localProxyPort) { mHost = LOCAL_HOST; mPort = localProxyPort; mExclusionList = LOCAL_EXCL_LIST; Loading @@ -159,11 +169,10 @@ public class ProxyInfo implements Parcelable { mPacFileUrl = Uri.EMPTY; } // copy constructor instead of clone /** * @hide * A copy constructor to hold proxy properties. */ public ProxyInfo(ProxyInfo source) { public ProxyInfo(@Nullable ProxyInfo source) { if (source != null) { mHost = source.getHost(); mPort = source.getPort(); Loading Loading @@ -226,12 +235,13 @@ public class ProxyInfo implements Parcelable { * comma separated * @hide */ @Nullable public String getExclusionListAsString() { return mExclusionList; } /** * @hide * Return true if the pattern of proxy is valid, otherwise return false. */ public boolean isValid() { if (!Uri.EMPTY.equals(mPacFileUrl)) return true; Loading Loading
api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -28936,14 +28936,17 @@ package android.net { } public class ProxyInfo implements android.os.Parcelable { ctor public ProxyInfo(@Nullable android.net.ProxyInfo); method public static android.net.ProxyInfo buildDirectProxy(String, int); method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>); method public static android.net.ProxyInfo buildPacProxy(android.net.Uri); method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int); method public int describeContents(); method public String[] getExclusionList(); method public String getHost(); method public android.net.Uri getPacFileUrl(); method public int getPort(); method public boolean isValid(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR; }
api/system-current.txt +27 −0 Original line number Diff line number Diff line Loading @@ -4064,6 +4064,33 @@ package android.net { method public void onUpstreamChanged(@Nullable android.net.Network); } public final class IpConfiguration implements android.os.Parcelable { ctor public IpConfiguration(); ctor public IpConfiguration(@NonNull android.net.IpConfiguration); method @Nullable public android.net.ProxyInfo getHttpProxy(); method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment(); method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings(); method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration(); method public void setHttpProxy(@Nullable android.net.ProxyInfo); method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment); method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings); method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR; } public enum IpConfiguration.IpAssignment { enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP; enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC; enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED; } public enum IpConfiguration.ProxySettings { enum_constant public static final android.net.IpConfiguration.ProxySettings NONE; enum_constant public static final android.net.IpConfiguration.ProxySettings PAC; enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC; enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED; } public final class IpPrefix implements android.os.Parcelable { ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); ctor public IpPrefix(@NonNull String); Loading
core/java/android/net/IpConfiguration.java +38 −16 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package android.net; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.UnsupportedAppUsage; import android.net.StaticIpConfiguration; import android.os.Parcel; Loading @@ -27,13 +31,17 @@ import java.util.Objects; * A class representing a configured network. * @hide */ public class IpConfiguration implements Parcelable { @SystemApi public final class IpConfiguration implements Parcelable { private static final String TAG = "IpConfiguration"; // This enum has been used by apps through reflection for many releases. // Therefore they can't just be removed. Duplicating these constants to // give an alternate SystemApi is a worse option than exposing them. @SuppressLint("Enum") public enum IpAssignment { /* Use statically configured IP settings. Configuration can be accessed * with staticIpConfiguration */ @UnsupportedAppUsage STATIC, /* Use dynamically configured IP settings */ DHCP, Loading @@ -42,14 +50,19 @@ public class IpConfiguration implements Parcelable { UNASSIGNED } /** @hide */ public IpAssignment ipAssignment; /** @hide */ public StaticIpConfiguration staticIpConfiguration; // This enum has been used by apps through reflection for many releases. // Therefore they can't just be removed. Duplicating these constants to // give an alternate SystemApi is a worse option than exposing them. @SuppressLint("Enum") public enum ProxySettings { /* No proxy is to be used. Any existing proxy settings * should be cleared. */ @UnsupportedAppUsage NONE, /* Use statically configured proxy. Configuration can be accessed * with httpProxy. */ Loading @@ -62,8 +75,10 @@ public class IpConfiguration implements Parcelable { PAC } /** @hide */ public ProxySettings proxySettings; /** @hide */ @UnsupportedAppUsage public ProxyInfo httpProxy; Loading @@ -83,6 +98,7 @@ public class IpConfiguration implements Parcelable { init(IpAssignment.UNASSIGNED, ProxySettings.UNASSIGNED, null, null); } /** @hide */ @UnsupportedAppUsage public IpConfiguration(IpAssignment ipAssignment, ProxySettings proxySettings, Loading @@ -91,7 +107,7 @@ public class IpConfiguration implements Parcelable { init(ipAssignment, proxySettings, staticIpConfiguration, httpProxy); } public IpConfiguration(IpConfiguration source) { public IpConfiguration(@NonNull IpConfiguration source) { this(); if (source != null) { init(source.ipAssignment, source.proxySettings, Loading @@ -99,35 +115,35 @@ public class IpConfiguration implements Parcelable { } } public IpAssignment getIpAssignment() { public @NonNull IpAssignment getIpAssignment() { return ipAssignment; } public void setIpAssignment(IpAssignment ipAssignment) { public void setIpAssignment(@NonNull IpAssignment ipAssignment) { this.ipAssignment = ipAssignment; } public StaticIpConfiguration getStaticIpConfiguration() { public @Nullable StaticIpConfiguration getStaticIpConfiguration() { return staticIpConfiguration; } public void setStaticIpConfiguration(StaticIpConfiguration staticIpConfiguration) { public void setStaticIpConfiguration(@Nullable StaticIpConfiguration staticIpConfiguration) { this.staticIpConfiguration = staticIpConfiguration; } public ProxySettings getProxySettings() { public @NonNull ProxySettings getProxySettings() { return proxySettings; } public void setProxySettings(ProxySettings proxySettings) { public void setProxySettings(@NonNull ProxySettings proxySettings) { this.proxySettings = proxySettings; } public ProxyInfo getHttpProxy() { public @Nullable ProxyInfo getHttpProxy() { return httpProxy; } public void setHttpProxy(ProxyInfo httpProxy) { public void setHttpProxy(@Nullable ProxyInfo httpProxy) { this.httpProxy = httpProxy; } Loading Loading @@ -175,13 +191,19 @@ public class IpConfiguration implements Parcelable { 83 * httpProxy.hashCode(); } /** Implement the Parcelable interface */ /** * Implement the Parcelable interface * @hide */ public int describeContents() { return 0; } /** Implement the Parcelable interface */ public void writeToParcel(Parcel dest, int flags) { /** * Implement the Parcelable interface * @hide */ public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeString(ipAssignment.name()); dest.writeString(proxySettings.name()); dest.writeParcelable(staticIpConfiguration, flags); Loading @@ -189,7 +211,7 @@ public class IpConfiguration implements Parcelable { } /** Implement the Parcelable interface */ public static final @android.annotation.NonNull Creator<IpConfiguration> CREATOR = public static final @NonNull Creator<IpConfiguration> CREATOR = new Creator<IpConfiguration>() { public IpConfiguration createFromParcel(Parcel in) { IpConfiguration config = new IpConfiguration(); Loading
core/java/android/net/ProxyInfo.java +17 −7 Original line number Diff line number Diff line Loading @@ -16,7 +16,8 @@ package android.net; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -88,6 +89,15 @@ public class ProxyInfo implements Parcelable { return new ProxyInfo(pacUri); } /** * Construct a {@link ProxyInfo} object that will download and run the PAC script at the * specified URL and port. */ @NonNull public static ProxyInfo buildPacProxy(@NonNull Uri pacUrl, int port) { return new ProxyInfo(pacUrl, port); } /** * Create a ProxyProperties that points at a HTTP Proxy. * @hide Loading @@ -105,7 +115,7 @@ public class ProxyInfo implements Parcelable { * Create a ProxyProperties that points at a PAC URL. * @hide */ public ProxyInfo(Uri pacFileUrl) { public ProxyInfo(@NonNull Uri pacFileUrl) { mHost = LOCAL_HOST; mPort = LOCAL_PORT; mExclusionList = LOCAL_EXCL_LIST; Loading @@ -132,7 +142,7 @@ public class ProxyInfo implements Parcelable { * Only used in PacManager after Local Proxy is bound. * @hide */ public ProxyInfo(Uri pacFileUrl, int localProxyPort) { public ProxyInfo(@NonNull Uri pacFileUrl, int localProxyPort) { mHost = LOCAL_HOST; mPort = localProxyPort; mExclusionList = LOCAL_EXCL_LIST; Loading @@ -159,11 +169,10 @@ public class ProxyInfo implements Parcelable { mPacFileUrl = Uri.EMPTY; } // copy constructor instead of clone /** * @hide * A copy constructor to hold proxy properties. */ public ProxyInfo(ProxyInfo source) { public ProxyInfo(@Nullable ProxyInfo source) { if (source != null) { mHost = source.getHost(); mPort = source.getPort(); Loading Loading @@ -226,12 +235,13 @@ public class ProxyInfo implements Parcelable { * comma separated * @hide */ @Nullable public String getExclusionListAsString() { return mExclusionList; } /** * @hide * Return true if the pattern of proxy is valid, otherwise return false. */ public boolean isValid() { if (!Uri.EMPTY.equals(mPacFileUrl)) return true; Loading