diff options
author | Jeff Sharkey <jsharkey@android.com> | 2011-06-16 15:07:48 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2011-06-17 16:49:21 -0700 |
commit | fdfef57f498e3021a34342538aef9f1c7ccbae78 (patch) | |
tree | 612e86ac458b3b99c6a527544c26d4993dad8051 /core/java/android/net | |
parent | 5bfa752f71cf7e6a5e7490d48eaef4054f99bebc (diff) | |
download | frameworks_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.aidl | 3 | ||||
-rw-r--r-- | core/java/android/net/NetworkPolicyManager.java | 18 |
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("]"); } |