Skip to content

Commit 75fbb4b

Browse files
committed
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
1 parent 187019c commit 75fbb4b

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

api/current.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12399,6 +12399,7 @@ package android.net {
1239912399
field public static final java.lang.String EXTRA_EXTRA_INFO = "extraInfo";
1240012400
field public static final java.lang.String EXTRA_IS_FAILOVER = "isFailover";
1240112401
field public static final deprecated java.lang.String EXTRA_NETWORK_INFO = "networkInfo";
12402+
field public static final java.lang.String EXTRA_NETWORK_TYPE = "networkType";
1240212403
field public static final java.lang.String EXTRA_NO_CONNECTIVITY = "noConnectivity";
1240312404
field public static final java.lang.String EXTRA_OTHER_NETWORK_INFO = "otherNetwork";
1240412405
field public static final java.lang.String EXTRA_REASON = "reason";

core/java/android/net/ConnectivityManager.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,20 @@ public class ConnectivityManager {
8989
* should always obtain network information through
9090
* {@link #getActiveNetworkInfo()} or
9191
* {@link #getAllNetworkInfo()}.
92+
* @see #EXTRA_NETWORK_TYPE
9293
*/
9394
@Deprecated
9495
public static final String EXTRA_NETWORK_INFO = "networkInfo";
9596

97+
/**
98+
* Network type which triggered a {@link #CONNECTIVITY_ACTION} broadcast.
99+
* Can be used with {@link #getNetworkInfo(int)} to get {@link NetworkInfo}
100+
* state based on the calling application.
101+
*
102+
* @see android.content.Intent#getIntExtra(String, int)
103+
*/
104+
public static final String EXTRA_NETWORK_TYPE = "networkType";
105+
96106
/**
97107
* The lookup key for a boolean that indicates whether a connect event
98108
* is for a network to which the connectivity manager was failing over

services/java/com/android/server/ConnectivityService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,6 +1622,7 @@ private void handleDisconnect(NetworkInfo info) {
16221622

16231623
Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION);
16241624
intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info);
1625+
intent.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, info.getType());
16251626
if (info.isFailover()) {
16261627
intent.putExtra(ConnectivityManager.EXTRA_IS_FAILOVER, true);
16271628
info.setFailover(false);
@@ -1748,6 +1749,7 @@ private void sendInetConditionBroadcast(NetworkInfo info) {
17481749
private Intent makeGeneralIntent(NetworkInfo info, String bcastType) {
17491750
Intent intent = new Intent(bcastType);
17501751
intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info);
1752+
intent.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, info.getType());
17511753
if (info.isFailover()) {
17521754
intent.putExtra(ConnectivityManager.EXTRA_IS_FAILOVER, true);
17531755
info.setFailover(false);
@@ -1798,6 +1800,7 @@ private void handleConnectionFailure(NetworkInfo info) {
17981800

17991801
Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION);
18001802
intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info);
1803+
intent.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, info.getType());
18011804
if (getActiveNetworkInfo() == null) {
18021805
intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
18031806
}

0 commit comments

Comments
 (0)