Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99b208a7 authored by Sudheer Shanka's avatar Sudheer Shanka Committed by android-build-merger
Browse files

Merge "Update uid state used for bucketizing data in fg vs bg states." into pi-dev

am: 8303baf4

Change-Id: Ia476818fee03347c5d0bf80d3197ef391b9f7c66
parents 82cac7ce 8303baf4
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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);

+5 −2
Original line number Diff line number Diff line
@@ -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) {
+6 −12
Original line number Diff line number Diff line
@@ -3218,19 +3218,13 @@ 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);
        }
    }

    private boolean isUidForegroundUL(int uid) {
        return isUidStateForegroundUL(
            return isUidStateForeground(
                    mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY));
        }
    }

    private boolean isUidForegroundOnRestrictBackgroundUL(int uid) {
        final int procState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
@@ -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);