summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-02-07 12:05:43 -0800
committerJeff Sharkey <jsharkey@android.com>2012-02-07 12:08:58 -0800
commit1f8ea2dcd1ed3cde4b84fbb27b5a55b3fea7ff2a (patch)
tree21db818fc9acf4130663a138ea6816a1eb3aaacf /services/java/com/android/server/ConnectivityService.java
parent706498d387eaceb574cf4aa982fee3c288819dad (diff)
downloadframeworks_base-1f8ea2dcd1ed3cde4b84fbb27b5a55b3fea7ff2a.zip
frameworks_base-1f8ea2dcd1ed3cde4b84fbb27b5a55b3fea7ff2a.tar.gz
frameworks_base-1f8ea2dcd1ed3cde4b84fbb27b5a55b3fea7ff2a.tar.bz2
Send broadcast when changing restrict background.
When changing global restrict background status, send connectivity change broadcast, since it radically changes DISCONNECTED/BLOCKED status system-wide. Also reduce verbose stats logging. Bug: 5854466 Change-Id: I3b612c520f50cc3000a3a569b7e0ab5f691cc2bd
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r--services/java/com/android/server/ConnectivityService.java29
1 files changed, 23 insertions, 6 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index a372fb8..eab60a7 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -1394,9 +1394,7 @@ private NetworkStateTracker makeWimaxStateTracker() {
private INetworkPolicyListener mPolicyListener = new INetworkPolicyListener.Stub() {
@Override
public void onUidRulesChanged(int uid, int uidRules) {
- // only someone like NPMS should only be calling us
- mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
-
+ // caller is NPMS, since we only register with them
if (LOGD_RULES) {
log("onUidRulesChanged(uid=" + uid + ", uidRules=" + uidRules + ")");
}
@@ -1415,9 +1413,7 @@ private NetworkStateTracker makeWimaxStateTracker() {
@Override
public void onMeteredIfacesChanged(String[] meteredIfaces) {
- // only someone like NPMS should only be calling us
- mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
-
+ // caller is NPMS, since we only register with them
if (LOGD_RULES) {
log("onMeteredIfacesChanged(ifaces=" + Arrays.toString(meteredIfaces) + ")");
}
@@ -1429,6 +1425,27 @@ private NetworkStateTracker makeWimaxStateTracker() {
}
}
}
+
+ @Override
+ public void onRestrictBackgroundChanged(boolean restrictBackground) {
+ // caller is NPMS, since we only register with them
+ if (LOGD_RULES) {
+ log("onRestrictBackgroundChanged(restrictBackground=" + restrictBackground + ")");
+ }
+
+ // kick off connectivity change broadcast for active network, since
+ // global background policy change is radical.
+ final int networkType = mActiveDefaultNetwork;
+ if (isNetworkTypeValid(networkType)) {
+ final NetworkStateTracker tracker = mNetTrackers[networkType];
+ if (tracker != null) {
+ final NetworkInfo info = tracker.getNetworkInfo();
+ if (info != null && info.isConnected()) {
+ sendConnectedBroadcast(info);
+ }
+ }
+ }
+ }
};
/**