public class NetworkPolicyManager extends Object
Modifier and Type | Field and Description |
---|---|
static String |
EXTRA_NETWORK_TEMPLATE
Intent extra that indicates which NetworkTemplate rule it
applies to. |
static int |
FIREWALL_CHAIN_DOZABLE |
static String |
FIREWALL_CHAIN_NAME_DOZABLE |
static String |
FIREWALL_CHAIN_NAME_NONE |
static String |
FIREWALL_CHAIN_NAME_POWERSAVE |
static String |
FIREWALL_CHAIN_NAME_STANDBY |
static int |
FIREWALL_CHAIN_NONE |
static int |
FIREWALL_CHAIN_POWERSAVE |
static int |
FIREWALL_CHAIN_STANDBY |
static int |
FIREWALL_RULE_ALLOW |
static int |
FIREWALL_RULE_DEFAULT |
static int |
FIREWALL_RULE_DENY |
static int |
FIREWALL_TYPE_BLACKLIST |
static int |
FIREWALL_TYPE_WHITELIST |
static int |
MASK_ALL_NETWORKS
Mask used to get the
RULE_xxx_ALL rules |
static int |
MASK_METERED_NETWORKS
Mask used to get the
RULE_xxx_METERED rules |
static int |
POLICY_ALLOW_BACKGROUND_BATTERY_SAVE
Allow network use (metered or not) in the background in battery save mode.
|
static int |
POLICY_NONE
No specific network policy, use system default.
|
static int |
POLICY_REJECT_METERED_BACKGROUND
Reject network usage on metered networks when application in background.
|
static int |
RULE_ALLOW_ALL
Network traffic should be allowed on all networks (metered or non-metered), although
metered-network restrictions could still apply.
|
static int |
RULE_ALLOW_METERED
Allow traffic on metered networks.
|
static int |
RULE_NONE
No specific rule was set
|
static int |
RULE_REJECT_ALL
Reject traffic on all networks.
|
static int |
RULE_REJECT_METERED
Reject traffic on metered networks.
|
static int |
RULE_TEMPORARY_ALLOW_METERED
Temporarily allow traffic on metered networks because app is on foreground.
|
Constructor and Description |
---|
NetworkPolicyManager(Context context,
INetworkPolicyManager service) |
Modifier and Type | Method and Description |
---|---|
void |
addUidPolicy(int uid,
int policy)
Add policy flags for specific UID.
|
static long |
computeLastCycleBoundary(long currentTime,
NetworkPolicy policy)
Compute the last cycle boundary for the given
NetworkPolicy . |
static long |
computeNextCycleBoundary(long currentTime,
NetworkPolicy policy) |
void |
factoryReset(String subscriber)
Resets network policy settings back to factory defaults.
|
static NetworkPolicyManager |
from(Context context) |
NetworkPolicy[] |
getNetworkPolicies() |
boolean |
getRestrictBackground() |
int |
getUidPolicy(int uid) |
int[] |
getUidsWithPolicy(int policy) |
static boolean |
isUidValidForPolicy(Context context,
int uid)
Deprecated.
|
void |
registerListener(INetworkPolicyListener listener) |
void |
removeUidPolicy(int uid,
int policy)
Clear/remove policy flags for specific UID.
|
void |
setNetworkPolicies(NetworkPolicy[] policies) |
void |
setRestrictBackground(boolean restrictBackground) |
void |
setUidPolicy(int uid,
int policy)
Set policy flags for specific UID.
|
static void |
snapToCycleDay(Calendar cal,
int cycleDay)
Snap to the cycle day for the current month given; when cycle day doesn't
exist, it snaps to last second of current month.
|
static String |
uidRulesToString(int uidRules) |
void |
unregisterListener(INetworkPolicyListener listener) |
public static final int POLICY_NONE
public static final int POLICY_REJECT_METERED_BACKGROUND
public static final int POLICY_ALLOW_BACKGROUND_BATTERY_SAVE
public static final int RULE_NONE
public static final int RULE_ALLOW_METERED
public static final int RULE_TEMPORARY_ALLOW_METERED
public static final int RULE_REJECT_METERED
public static final int RULE_ALLOW_ALL
public static final int RULE_REJECT_ALL
public static final int MASK_METERED_NETWORKS
RULE_xxx_METERED
rulespublic static final int MASK_ALL_NETWORKS
RULE_xxx_ALL
rulespublic static final int FIREWALL_RULE_DEFAULT
public static final int FIREWALL_RULE_ALLOW
public static final int FIREWALL_RULE_DENY
public static final int FIREWALL_TYPE_WHITELIST
public static final int FIREWALL_TYPE_BLACKLIST
public static final int FIREWALL_CHAIN_NONE
public static final int FIREWALL_CHAIN_DOZABLE
public static final int FIREWALL_CHAIN_STANDBY
public static final int FIREWALL_CHAIN_POWERSAVE
public static final String FIREWALL_CHAIN_NAME_NONE
public static final String FIREWALL_CHAIN_NAME_DOZABLE
public static final String FIREWALL_CHAIN_NAME_STANDBY
public static final String FIREWALL_CHAIN_NAME_POWERSAVE
public static final String EXTRA_NETWORK_TEMPLATE
Intent
extra that indicates which NetworkTemplate
rule it
applies to.public NetworkPolicyManager(Context context, INetworkPolicyManager service)
public static NetworkPolicyManager from(Context context)
public void setUidPolicy(int uid, int policy)
policy
- POLICY_NONE
or combination of flags like
POLICY_REJECT_METERED_BACKGROUND
or POLICY_ALLOW_BACKGROUND_BATTERY_SAVE
.public void addUidPolicy(int uid, int policy)
POLICY_REJECT_METERED_BACKGROUND
or POLICY_ALLOW_BACKGROUND_BATTERY_SAVE
.public void removeUidPolicy(int uid, int policy)
POLICY_REJECT_METERED_BACKGROUND
or POLICY_ALLOW_BACKGROUND_BATTERY_SAVE
.public int getUidPolicy(int uid)
public int[] getUidsWithPolicy(int policy)
public void registerListener(INetworkPolicyListener listener)
public void unregisterListener(INetworkPolicyListener listener)
public void setNetworkPolicies(NetworkPolicy[] policies)
public NetworkPolicy[] getNetworkPolicies()
public void setRestrictBackground(boolean restrictBackground)
public boolean getRestrictBackground()
public void factoryReset(String subscriber)
public static long computeLastCycleBoundary(long currentTime, NetworkPolicy policy)
NetworkPolicy
. For
example, if cycle day is 20th, and today is June 15th, it will return May
20th. When cycle day doesn't exist in current month, it snaps to the 1st
of following month.public static long computeNextCycleBoundary(long currentTime, NetworkPolicy policy)
public static void snapToCycleDay(Calendar cal, int cycleDay)
@Deprecated public static boolean isUidValidForPolicy(Context context, int uid)
setUidPolicy(int, int)
defined,
usually to protect critical system services.public static String uidRulesToString(int uidRules)