summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-08-06 11:41:50 -0700
committerJeff Sharkey <jsharkey@android.com>2012-08-06 11:45:01 -0700
commit75fbb4bdfde9188081f000506845d852f31362f0 (patch)
tree567b30e20b9c8ef14ac61d072e22d0faac4236c0
parent187019c51fb1f8f79d4d5919facbc8d569ff844e (diff)
downloadframeworks_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.txt1
-rw-r--r--core/java/android/net/ConnectivityManager.java10
-rw-r--r--services/java/com/android/server/ConnectivityService.java3
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);
}