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

Commit 4aa9812c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make it possible to toggle individual policies."

parents 1629d7d7 9892d579
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -91,6 +91,13 @@ public class EconomyManager {
        }
    }

    public static final String KEY_ENABLE_TARE = "enable_tare";
    public static final String KEY_ENABLE_POLICY_ALARM = "enable_policy_alarm";
    public static final String KEY_ENABLE_POLICY_JOB_SCHEDULER = "enable_policy_job";
    public static final boolean DEFAULT_ENABLE_TARE = true;
    public static final boolean DEFAULT_ENABLE_POLICY_ALARM = true;
    public static final boolean DEFAULT_ENABLE_POLICY_JOB_SCHEDULER = true;

    // Keys for AlarmManager TARE factors
    /** @hide */
    public static final String KEY_AM_MIN_SATIATED_BALANCE_EXEMPTED =
+4 −4
Original line number Diff line number Diff line
@@ -59,8 +59,6 @@ import static com.android.server.alarm.AlarmManagerService.RemovedAlarm.REMOVE_R

import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.UserIdInt;
import android.app.Activity;
import android.app.ActivityManagerInternal;
@@ -883,9 +881,11 @@ public class AlarmManagerService extends SystemService {
            mInjector.registerDeviceConfigListener(this);
            final EconomyManagerInternal economyManagerInternal =
                    LocalServices.getService(EconomyManagerInternal.class);
            economyManagerInternal.registerTareStateChangeListener(this);
            economyManagerInternal.registerTareStateChangeListener(this,
                    AlarmManagerEconomicPolicy.POLICY_ALARM);
            onPropertiesChanged(DeviceConfig.getProperties(DeviceConfig.NAMESPACE_ALARM_MANAGER));
            updateTareSettings(economyManagerInternal.isEnabled());
            updateTareSettings(
                    economyManagerInternal.isEnabled(AlarmManagerEconomicPolicy.POLICY_ALARM));
        }

        public void updateAllowWhileIdleWhitelistDurationLocked() {
+5 −2
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ import com.android.server.job.restrictions.JobRestriction;
import com.android.server.job.restrictions.ThermalStatusRestriction;
import com.android.server.pm.UserManagerInternal;
import com.android.server.tare.EconomyManagerInternal;
import com.android.server.tare.JobSchedulerEconomicPolicy;
import com.android.server.usage.AppStandbyInternal;
import com.android.server.usage.AppStandbyInternal.AppIdleStateChangeListener;
import com.android.server.utils.quota.Categorizer;
@@ -373,10 +374,12 @@ public class JobSchedulerService extends com.android.server.SystemService
                    JobSchedulerBackgroundThread.getExecutor(), this);
            final EconomyManagerInternal economyManagerInternal =
                    LocalServices.getService(EconomyManagerInternal.class);
            economyManagerInternal.registerTareStateChangeListener(this);
            economyManagerInternal
                    .registerTareStateChangeListener(this, JobSchedulerEconomicPolicy.POLICY_JOB);
            // Load all the constants.
            synchronized (mLock) {
                mConstants.updateTareSettingsLocked(economyManagerInternal.isEnabled());
                mConstants.updateTareSettingsLocked(
                        economyManagerInternal.isEnabled(JobSchedulerEconomicPolicy.POLICY_JOB));
            }
            onPropertiesChanged(DeviceConfig.getProperties(DeviceConfig.NAMESPACE_JOB_SCHEDULER));
        }
+5 −1
Original line number Diff line number Diff line
@@ -1196,7 +1196,11 @@ class Agent {
                final EconomyManagerInternal.AnticipatedAction aa = anticipatedActions.get(i);
                final EconomicPolicy.Action action = economicPolicy.getAction(aa.actionId);
                if (action == null) {
                    if ((aa.actionId & EconomicPolicy.ALL_POLICIES) == 0) {
                        throw new IllegalArgumentException("Invalid action id: " + aa.actionId);
                    } else {
                        Slog.w(TAG, "Tracking disabled policy's action? " + aa.actionId);
                    }
                }
            }
            mListener = listener;
+9 −9
Original line number Diff line number Diff line
@@ -117,23 +117,23 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy {
    private static final String TAG = "TARE- " + AlarmManagerEconomicPolicy.class.getSimpleName();

    public static final int ACTION_ALARM_WAKEUP_EXACT_ALLOW_WHILE_IDLE =
            TYPE_ACTION | POLICY_AM | 0;
            TYPE_ACTION | POLICY_ALARM | 0;
    public static final int ACTION_ALARM_WAKEUP_EXACT =
            TYPE_ACTION | POLICY_AM | 1;
            TYPE_ACTION | POLICY_ALARM | 1;
    public static final int ACTION_ALARM_WAKEUP_INEXACT_ALLOW_WHILE_IDLE =
            TYPE_ACTION | POLICY_AM | 2;
            TYPE_ACTION | POLICY_ALARM | 2;
    public static final int ACTION_ALARM_WAKEUP_INEXACT =
            TYPE_ACTION | POLICY_AM | 3;
            TYPE_ACTION | POLICY_ALARM | 3;
    public static final int ACTION_ALARM_NONWAKEUP_EXACT_ALLOW_WHILE_IDLE =
            TYPE_ACTION | POLICY_AM | 4;
            TYPE_ACTION | POLICY_ALARM | 4;
    public static final int ACTION_ALARM_NONWAKEUP_EXACT =
            TYPE_ACTION | POLICY_AM | 5;
            TYPE_ACTION | POLICY_ALARM | 5;
    public static final int ACTION_ALARM_NONWAKEUP_INEXACT_ALLOW_WHILE_IDLE =
            TYPE_ACTION | POLICY_AM | 6;
            TYPE_ACTION | POLICY_ALARM | 6;
    public static final int ACTION_ALARM_NONWAKEUP_INEXACT =
            TYPE_ACTION | POLICY_AM | 7;
            TYPE_ACTION | POLICY_ALARM | 7;
    public static final int ACTION_ALARM_CLOCK =
            TYPE_ACTION | POLICY_AM | 8;
            TYPE_ACTION | POLICY_ALARM | 8;

    private static final int[] COST_MODIFIERS = new int[]{
            COST_MODIFIER_CHARGING,
Loading