diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-08-06 11:41:50 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-08-06 11:45:01 -0700 |
commit | 75fbb4bdfde9188081f000506845d852f31362f0 (patch) | |
tree | 567b30e20b9c8ef14ac61d072e22d0faac4236c0 | |
parent | 187019c51fb1f8f79d4d5919facbc8d569ff844e (diff) | |
download | frameworks_base-75fbb4bdfde9188081f000506845d852f31362f0.zip frameworks_base-75fbb4bdfde9188081f000506845d852f31362f0.tar.gz frameworks_base-75fbb4bdfde9188081f000506845d852f31362f0.tar.bz2 |
Include network type that caused broadcast.
Network type can be obtained through EXTRA_NETWORK_INFO, but offer
it as first-class extra since the returned NetworkInfo is deprecated.
Bug: 6936247
Change-Id: Ief59577afd2bd930f0f4c5650b413feef86bfbc3
-rw-r--r-- | api/current.txt | 1 | ||||
-rw-r--r-- | core/java/android/net/ConnectivityManager.java | 10 | ||||
-rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 3 |
3 files changed, 14 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 4b43318..5b3459c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -12399,6 +12399,7 @@ package android.net { field public static final java.lang.String EXTRA_EXTRA_INFO = "extraInfo"; field public static final java.lang.String EXTRA_IS_FAILOVER = "isFailover"; field public static final deprecated java.lang.String EXTRA_NETWORK_INFO = "networkInfo"; + field public static final java.lang.String EXTRA_NETWORK_TYPE = "networkType"; field public static final java.lang.String EXTRA_NO_CONNECTIVITY = "noConnectivity"; field public static final java.lang.String EXTRA_OTHER_NETWORK_INFO = "otherNetwork"; field public static final java.lang.String EXTRA_REASON = "reason"; diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index fa1ff85..d30ef04 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -89,11 +89,21 @@ public class ConnectivityManager { * should always obtain network information through * {@link #getActiveNetworkInfo()} or * {@link #getAllNetworkInfo()}. + * @see #EXTRA_NETWORK_TYPE */ @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo"; /** + * 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) + */ + public static final String EXTRA_NETWORK_TYPE = "networkType"; + + /** * The lookup key for a boolean that indicates whether a connect event * is for a network to which the connectivity manager was failing over * following a disconnect on another network. diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index a550f34..22acfbf 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -1622,6 +1622,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION); intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info); + intent.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, info.getType()); if (info.isFailover()) { intent.putExtra(ConnectivityManager.EXTRA_IS_FAILOVER, true); info.setFailover(false); @@ -1748,6 +1749,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { private Intent makeGeneralIntent(NetworkInfo info, String bcastType) { Intent intent = new Intent(bcastType); intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info); + intent.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, info.getType()); if (info.isFailover()) { intent.putExtra(ConnectivityManager.EXTRA_IS_FAILOVER, true); info.setFailover(false); @@ -1798,6 +1800,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION); intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info); + intent.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, info.getType()); if (getActiveNetworkInfo() == null) { intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true); } |