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

Commit eb8cfd12 authored by Makoto Onuki's avatar Makoto Onuki
Browse files

Add "exemptForBatterySaver" to ForceAppStandbyTracker

Bug: 72125364
Test: atest CtsBatterySavingTestCases
Change-Id: I716dc53f06a74e3854aeaeff5c1567642ebaa0c9
parent ae38a62b
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -737,21 +737,23 @@ public class ForceAppStandbyTracker {
     * @return whether alarms should be restricted for a UID package-name.
     */
    public boolean areAlarmsRestricted(int uid, @NonNull String packageName) {
        return isRestricted(uid, packageName, /*useTempWhitelistToo=*/ false);
        return isRestricted(uid, packageName, /*useTempWhitelistToo=*/ false,
                /* exemptOnBatterySaver =*/ false);
    }

    /**
     * @return whether jobs should be restricted for a UID package-name.
     */
    public boolean areJobsRestricted(int uid, @NonNull String packageName) {
        return isRestricted(uid, packageName, /*useTempWhitelistToo=*/ true);
        return isRestricted(uid, packageName, /*useTempWhitelistToo=*/ true,
                /* exemptOnBatterySaver =*/ false);
    }

    /**
     * @return whether force-app-standby is effective for a UID package-name.
     */
    private boolean isRestricted(int uid, @NonNull String packageName,
            boolean useTempWhitelistToo) {
            boolean useTempWhitelistToo, boolean exemptOnBatterySaver) {
        if (isInForeground(uid)) {
            return false;
        }
@@ -765,12 +767,13 @@ public class ForceAppStandbyTracker {
                    ArrayUtils.contains(mTempWhitelistedAppIds, appId)) {
                return false;
            }

            if (mForceAllAppsStandby) {
            if (mForcedAppStandbyEnabled && isRunAnyRestrictedLocked(uid, packageName)) {
                return true;
            }

            return mForcedAppStandbyEnabled && isRunAnyRestrictedLocked(uid, packageName);
            if (exemptOnBatterySaver) {
                return false;
            }
            return mForceAllAppsStandby;
        }
    }