From ad8234213d24975ce8262b810d93af77a231bb5e Mon Sep 17 00:00:00 2001 From: Paul Jensen Date: Wed, 11 Mar 2015 11:51:46 -0400 Subject: [PATCH] Deprecate EXTRA_PROXY_INFO and unhide ConnectivityManager.getDefaultProxy(). 1. Unhide ConnectivityManager.getDefaultProxy() and update it to take into account process-bound-Networks. 2. Deprecate EXTRA_PROXY_INFO and instead encourage querying via getDefaultProxy(). Bug: 17905627 Bug: 17420465 Bug: 18144582 Change-Id: I45358ee82fe705d048022c8238b2452f52c37b88 --- api/current.txt | 3 ++- api/system-current.txt | 3 ++- core/java/android/net/ConnectivityManager.java | 1 - core/java/android/net/Proxy.java | 16 ++++++++-------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/api/current.txt b/api/current.txt index 365948b6f19b..2833c9cbb40b 100644 --- a/api/current.txt +++ b/api/current.txt @@ -16960,6 +16960,7 @@ package android.net { method public android.net.Network[] getAllNetworks(); method public deprecated boolean getBackgroundDataSetting(); method public android.net.Network getBoundNetworkForProcess(); + method public android.net.ProxyInfo getDefaultProxy(); method public android.net.LinkProperties getLinkProperties(android.net.Network); method public android.net.NetworkCapabilities getNetworkCapabilities(android.net.Network); method public android.net.NetworkInfo getNetworkInfo(int); @@ -17255,7 +17256,7 @@ package android.net { method public static final deprecated int getDefaultPort(); method public static final deprecated java.lang.String getHost(android.content.Context); method public static final deprecated int getPort(android.content.Context); - field public static final java.lang.String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO"; + field public static final deprecated java.lang.String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO"; field public static final java.lang.String PROXY_CHANGE_ACTION = "android.intent.action.PROXY_CHANGE"; } diff --git a/api/system-current.txt b/api/system-current.txt index ca32e6626373..2f94e65067e7 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -18221,6 +18221,7 @@ package android.net { method public android.net.Network[] getAllNetworks(); method public deprecated boolean getBackgroundDataSetting(); method public android.net.Network getBoundNetworkForProcess(); + method public android.net.ProxyInfo getDefaultProxy(); method public android.net.LinkProperties getLinkProperties(android.net.Network); method public android.net.NetworkCapabilities getNetworkCapabilities(android.net.Network); method public android.net.NetworkInfo getNetworkInfo(int); @@ -18541,7 +18542,7 @@ package android.net { method public static final deprecated int getDefaultPort(); method public static final deprecated java.lang.String getHost(android.content.Context); method public static final deprecated int getPort(android.content.Context); - field public static final java.lang.String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO"; + field public static final deprecated java.lang.String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO"; field public static final java.lang.String PROXY_CHANGE_ACTION = "android.intent.action.PROXY_CHANGE"; } diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 767113e8481f..099f68dfe3e2 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -1783,7 +1783,6 @@ public class ConnectivityManager { * * @return the {@link ProxyInfo} for the current HTTP proxy, or {@code null} if no * HTTP proxy is active. - * @hide */ public ProxyInfo getDefaultProxy() { final Network network = getBoundNetworkForProcess(); diff --git a/core/java/android/net/Proxy.java b/core/java/android/net/Proxy.java index 3477b029f793..e07f211f9dcb 100644 --- a/core/java/android/net/Proxy.java +++ b/core/java/android/net/Proxy.java @@ -44,14 +44,9 @@ public final class Proxy { private static final ProxySelector sDefaultProxySelector; /** - * Used to notify an app that's caching the default connection proxy - * that either the default connection or its proxy has changed. - * The intent will have the following extra value:

- * + * Used to notify an app that's caching the proxy that either the default + * connection has changed or any connection's proxy has changed. The new + * proxy should be queried using {@link ConnectivityManager#getDefaultProxy()}. * *

This is a protected intent that can only be sent by the system */ @@ -60,6 +55,11 @@ public final class Proxy { /** * Intent extra included with {@link #PROXY_CHANGE_ACTION} intents. * It describes the new proxy being used (as a {@link ProxyInfo} object). + * @deprecated Because {@code PROXY_CHANGE_ACTION} is sent whenever the proxy + * for any network on the system changes, applications should always use + * {@link ConnectivityManager#getDefaultProxy()} or + * {@link ConnectivityManager#getLinkProperties(Network)}.{@link LinkProperties#getHttpProxy()} + * to get the proxy for the Network(s) they are using. */ public static final String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO"; -- 2.11.0