Merge "Update uid state used for bucketizing data in fg vs bg states." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8303baf4d0
@@ -37,8 +37,6 @@ interface INetworkPolicyManager {
|
||||
int getUidPolicy(int uid);
|
||||
int[] getUidsWithPolicy(int policy);
|
||||
|
||||
boolean isUidForeground(int uid);
|
||||
|
||||
void registerListener(INetworkPolicyListener listener);
|
||||
void unregisterListener(INetworkPolicyListener listener);
|
||||
|
||||
|
||||
@@ -107,6 +107,9 @@ public class NetworkPolicyManager {
|
||||
|
||||
private static final boolean ALLOW_PLATFORM_APP_POLICY = true;
|
||||
|
||||
public static final int FOREGROUND_THRESHOLD_STATE =
|
||||
ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE;
|
||||
|
||||
/**
|
||||
* {@link Intent} extra that indicates which {@link NetworkTemplate} rule it
|
||||
* applies to.
|
||||
@@ -331,7 +334,7 @@ public class NetworkPolicyManager {
|
||||
* to access network when the device is idle or in battery saver mode. Otherwise, false.
|
||||
*/
|
||||
public static boolean isProcStateAllowedWhileIdleOrPowerSaveMode(int procState) {
|
||||
return procState <= ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE;
|
||||
return procState <= FOREGROUND_THRESHOLD_STATE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -339,7 +342,7 @@ public class NetworkPolicyManager {
|
||||
* to access network when the device is in data saver mode. Otherwise, false.
|
||||
*/
|
||||
public static boolean isProcStateAllowedWhileOnRestrictBackground(int procState) {
|
||||
return procState <= ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE;
|
||||
return procState <= FOREGROUND_THRESHOLD_STATE;
|
||||
}
|
||||
|
||||
public static String resolveNetworkId(WifiConfiguration config) {
|
||||
|
||||
@@ -3218,20 +3218,14 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
this, in, out, err, args, callback, resultReceiver);
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting
|
||||
public boolean isUidForeground(int uid) {
|
||||
mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
|
||||
|
||||
synchronized (mUidRulesFirstLock) {
|
||||
return isUidForegroundUL(uid);
|
||||
return isUidStateForeground(
|
||||
mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isUidForegroundUL(int uid) {
|
||||
return isUidStateForegroundUL(
|
||||
mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY));
|
||||
}
|
||||
|
||||
private boolean isUidForegroundOnRestrictBackgroundUL(int uid) {
|
||||
final int procState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
|
||||
return isProcStateAllowedWhileOnRestrictBackground(procState);
|
||||
@@ -3242,9 +3236,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
return isProcStateAllowedWhileIdleOrPowerSaveMode(procState);
|
||||
}
|
||||
|
||||
private boolean isUidStateForegroundUL(int state) {
|
||||
private boolean isUidStateForeground(int state) {
|
||||
// only really in foreground when screen is also on
|
||||
return state <= ActivityManager.PROCESS_STATE_TOP;
|
||||
return state <= NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3271,7 +3265,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
}
|
||||
updateRulesForPowerRestrictionsUL(uid);
|
||||
}
|
||||
updateNetworkStats(uid, isUidStateForegroundUL(uidState));
|
||||
updateNetworkStats(uid, isUidStateForeground(uidState));
|
||||
}
|
||||
} finally {
|
||||
Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
|
||||
|
||||
Reference in New Issue
Block a user