Deprecate connectivity APIs relying on integer network types.
Recommend ConnectivityManager.getAllNetworks() and various state
inspection functions as a way forward.
Bug:19608294
Change-Id: Ibd53629995897047fc532ffa56f079dfba10a7c7
diff --git a/api/current.txt b/api/current.txt
index de0e336..acfc72e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16963,14 +16963,14 @@
method public boolean bindProcessToNetwork(android.net.Network);
method public android.net.Network getActiveNetwork();
method public android.net.NetworkInfo getActiveNetworkInfo();
- method public android.net.NetworkInfo[] getAllNetworkInfo();
+ method public deprecated android.net.NetworkInfo[] getAllNetworkInfo();
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);
+ method public deprecated android.net.NetworkInfo getNetworkInfo(int);
method public android.net.NetworkInfo getNetworkInfo(android.net.Network);
method public deprecated int getNetworkPreference();
method public static deprecated android.net.Network getProcessDefaultNetwork();
diff --git a/api/system-current.txt b/api/system-current.txt
index 8afac60..84c0b87 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -18224,14 +18224,14 @@
method public boolean bindProcessToNetwork(android.net.Network);
method public android.net.Network getActiveNetwork();
method public android.net.NetworkInfo getActiveNetworkInfo();
- method public android.net.NetworkInfo[] getAllNetworkInfo();
+ method public deprecated android.net.NetworkInfo[] getAllNetworkInfo();
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);
+ method public deprecated android.net.NetworkInfo getNetworkInfo(int);
method public android.net.NetworkInfo getNetworkInfo(android.net.Network);
method public deprecated int getNetworkPreference();
method public static deprecated android.net.Network getProcessDefaultNetwork();
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 050cafc..1125e6d 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -115,8 +115,7 @@
*
* @deprecated Since {@link NetworkInfo} can vary based on UID, applications
* should always obtain network information through
- * {@link #getActiveNetworkInfo()} or
- * {@link #getAllNetworkInfo()}.
+ * {@link #getActiveNetworkInfo()}.
* @see #EXTRA_NETWORK_TYPE
*/
@Deprecated
@@ -124,8 +123,6 @@
/**
* Network type which triggered a {@link #CONNECTIVITY_ACTION} broadcast.
- * Can be used with {@link #getNetworkInfo(int)} to get {@link NetworkInfo}
- * state based on the calling application.
*
* @see android.content.Intent#getIntExtra(String, int)
*/
@@ -655,6 +652,10 @@
*
* <p>This method requires the caller to hold the permission
* {@link android.Manifest.permission#ACCESS_NETWORK_STATE}.
+ *
+ * @deprecated This method does not support multiple connected networks
+ * of the same type. Use {@link #getAllNetworks} and
+ * {@link #getNetworkInfo(android.net.Network)} instead.
*/
public NetworkInfo getNetworkInfo(int networkType) {
try {
@@ -694,6 +695,10 @@
*
* <p>This method requires the caller to hold the permission
* {@link android.Manifest.permission#ACCESS_NETWORK_STATE}.
+ *
+ * @deprecated This method does not support multiple connected networks
+ * of the same type. Use {@link #getAllNetworks} and
+ * {@link #getNetworkInfo(android.net.Network)} instead.
*/
public NetworkInfo[] getAllNetworkInfo() {
try {
@@ -711,6 +716,9 @@
* {@link android.Manifest.permission#ACCESS_NETWORK_STATE}.
*
* @hide
+ * @deprecated This method does not support multiple connected networks
+ * of the same type. Use {@link #getAllNetworks} and
+ * {@link #getNetworkInfo(android.net.Network)} instead.
*/
public Network getNetworkForType(int networkType) {
try {
@@ -803,6 +811,10 @@
* <p>This method requires the caller to hold the permission
* {@link android.Manifest.permission#ACCESS_NETWORK_STATE}.
* {@hide}
+ * @deprecated This method does not support multiple connected networks
+ * of the same type. Use {@link #getAllNetworks},
+ * {@link #getNetworkInfo(android.net.Network)}, and
+ * {@link #getLinkProperties(android.net.Network)} instead.
*/
public LinkProperties getLinkProperties(int networkType) {
try {
@@ -1932,6 +1944,7 @@
* @param networkType
*
* {@hide}
+ * @deprecated Doesn't properly deal with multiple connected networks of the same type.
*/
public void setProvisioningNotificationVisible(boolean visible, int networkType,
String action) {