summaryrefslogtreecommitdiffstats
path: root/core/java/android/net
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2011-06-16 15:07:48 -0700
committerJeff Sharkey <jsharkey@android.com>2011-06-17 16:49:21 -0700
commitfdfef57f498e3021a34342538aef9f1c7ccbae78 (patch)
tree612e86ac458b3b99c6a527544c26d4993dad8051 /core/java/android/net
parent5bfa752f71cf7e6a5e7490d48eaef4054f99bebc (diff)
downloadframeworks_base-fdfef57f498e3021a34342538aef9f1c7ccbae78.zip
frameworks_base-fdfef57f498e3021a34342538aef9f1c7ccbae78.tar.gz
frameworks_base-fdfef57f498e3021a34342538aef9f1c7ccbae78.tar.bz2
Notify policy listeners about metered ifaces.
Currently, kernel definition of metered networks is applied at the interface level. This change maintain list of those metered ifaces and notifies policy listeners, like ConnectivityService. (This gives us a consistent picture of when a network would be blocked.) Bug: 4601393 Change-Id: I277d5ca96ab967a1c1c3f1da8f9587557cd6d74c
Diffstat (limited to 'core/java/android/net')
-rw-r--r--core/java/android/net/INetworkPolicyListener.aidl3
-rw-r--r--core/java/android/net/NetworkPolicyManager.java18
2 files changed, 11 insertions, 10 deletions
diff --git a/core/java/android/net/INetworkPolicyListener.aidl b/core/java/android/net/INetworkPolicyListener.aidl
index 9230151..a45ec54 100644
--- a/core/java/android/net/INetworkPolicyListener.aidl
+++ b/core/java/android/net/INetworkPolicyListener.aidl
@@ -19,6 +19,7 @@ package android.net;
/** {@hide} */
oneway interface INetworkPolicyListener {
- void onRulesChanged(int uid, int uidRules);
+ void onUidRulesChanged(int uid, int uidRules);
+ void onMeteredIfacesChanged(in String[] meteredIfaces);
}
diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java
index 0d4d9a9..bfea168 100644
--- a/core/java/android/net/NetworkPolicyManager.java
+++ b/core/java/android/net/NetworkPolicyManager.java
@@ -34,13 +34,13 @@ public class NetworkPolicyManager {
/** No specific network policy, use system default. */
public static final int POLICY_NONE = 0x0;
- /** Reject network usage on paid networks when application in background. */
- public static final int POLICY_REJECT_PAID_BACKGROUND = 0x1;
+ /** Reject network usage on metered networks when application in background. */
+ public static final int POLICY_REJECT_METERED_BACKGROUND = 0x1;
/** All network traffic should be allowed. */
public static final int RULE_ALLOW_ALL = 0x0;
- /** Reject traffic on paid networks. */
- public static final int RULE_REJECT_PAID = 0x1;
+ /** Reject traffic on metered networks. */
+ public static final int RULE_REJECT_METERED = 0x1;
/**
* {@link Intent} action launched when user selects {@link NetworkPolicy}
@@ -98,7 +98,7 @@ public class NetworkPolicyManager {
* Set policy flags for specific UID.
*
* @param policy {@link #POLICY_NONE} or combination of flags like
- * {@link #POLICY_REJECT_PAID_BACKGROUND}.
+ * {@link #POLICY_REJECT_METERED_BACKGROUND}.
*/
public void setUidPolicy(int uid, int policy) {
try {
@@ -217,8 +217,8 @@ public class NetworkPolicyManager {
/** {@hide} */
public static void dumpPolicy(PrintWriter fout, int policy) {
fout.write("[");
- if ((policy & POLICY_REJECT_PAID_BACKGROUND) != 0) {
- fout.write("REJECT_PAID_BACKGROUND");
+ if ((policy & POLICY_REJECT_METERED_BACKGROUND) != 0) {
+ fout.write("REJECT_METERED_BACKGROUND");
}
fout.write("]");
}
@@ -226,8 +226,8 @@ public class NetworkPolicyManager {
/** {@hide} */
public static void dumpRules(PrintWriter fout, int rules) {
fout.write("[");
- if ((rules & RULE_REJECT_PAID) != 0) {
- fout.write("REJECT_PAID");
+ if ((rules & RULE_REJECT_METERED) != 0) {
+ fout.write("REJECT_METERED");
}
fout.write("]");
}