Loading apex/jobscheduler/framework/java/android/app/tare/EconomyManager.java +13 −5 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,9 @@ public class EconomyManager { /** @hide */ /** @hide */ public static final String KEY_AM_MAX_SATIATED_BALANCE = "am_max_satiated_balance"; public static final String KEY_AM_MAX_SATIATED_BALANCE = "am_max_satiated_balance"; /** @hide */ /** @hide */ public static final String KEY_AM_MAX_CIRCULATION = "am_max_circulation"; public static final String KEY_AM_INITIAL_CONSUMPTION_LIMIT = "am_initial_consumption_limit"; /** @hide */ public static final String KEY_AM_HARD_CONSUMPTION_LIMIT = "am_hard_consumption_limit"; // TODO: Add AlarmManager modifier keys // TODO: Add AlarmManager modifier keys /** @hide */ /** @hide */ public static final String KEY_AM_REWARD_TOP_ACTIVITY_INSTANT = public static final String KEY_AM_REWARD_TOP_ACTIVITY_INSTANT = Loading Loading @@ -163,7 +165,9 @@ public class EconomyManager { public static final String KEY_JS_MAX_SATIATED_BALANCE = public static final String KEY_JS_MAX_SATIATED_BALANCE = "js_max_satiated_balance"; "js_max_satiated_balance"; /** @hide */ /** @hide */ public static final String KEY_JS_MAX_CIRCULATION = "js_max_circulation"; public static final String KEY_JS_INITIAL_CONSUMPTION_LIMIT = "js_initial_consumption_limit"; /** @hide */ public static final String KEY_JS_HARD_CONSUMPTION_LIMIT = "js_hard_consumption_limit"; // TODO: Add JobScheduler modifier keys // TODO: Add JobScheduler modifier keys /** @hide */ /** @hide */ public static final String KEY_JS_REWARD_TOP_ACTIVITY_INSTANT = public static final String KEY_JS_REWARD_TOP_ACTIVITY_INSTANT = Loading Loading @@ -280,7 +284,9 @@ public class EconomyManager { /** @hide */ /** @hide */ public static final int DEFAULT_AM_MAX_SATIATED_BALANCE = 1440; public static final int DEFAULT_AM_MAX_SATIATED_BALANCE = 1440; /** @hide */ /** @hide */ public static final int DEFAULT_AM_MAX_CIRCULATION = 52000; public static final int DEFAULT_AM_INITIAL_CONSUMPTION_LIMIT = 28800; /** @hide */ public static final int DEFAULT_AM_HARD_CONSUMPTION_LIMIT = 52000; // TODO: add AlarmManager modifier default values // TODO: add AlarmManager modifier default values /** @hide */ /** @hide */ public static final int DEFAULT_AM_REWARD_TOP_ACTIVITY_INSTANT = 0; public static final int DEFAULT_AM_REWARD_TOP_ACTIVITY_INSTANT = 0; Loading Loading @@ -359,7 +365,7 @@ public class EconomyManager { // Default values JobScheduler factors // Default values JobScheduler factors // TODO: add time_since_usage variable to min satiated balance factors // TODO: add time_since_usage variable to min satiated balance factors /** @hide */ /** @hide */ public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_EXEMPTED = 50000; public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_EXEMPTED = 20000; /** @hide */ /** @hide */ public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP = 10000; public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP = 10000; /** @hide */ /** @hide */ Loading @@ -367,7 +373,9 @@ public class EconomyManager { /** @hide */ /** @hide */ public static final int DEFAULT_JS_MAX_SATIATED_BALANCE = 60000; public static final int DEFAULT_JS_MAX_SATIATED_BALANCE = 60000; /** @hide */ /** @hide */ public static final int DEFAULT_JS_MAX_CIRCULATION = 691200; public static final int DEFAULT_JS_INITIAL_CONSUMPTION_LIMIT = 460_000; /** @hide */ public static final int DEFAULT_JS_HARD_CONSUMPTION_LIMIT = 900_000; // TODO: add JobScheduler modifier default values // TODO: add JobScheduler modifier default values /** @hide */ /** @hide */ public static final int DEFAULT_JS_REWARD_TOP_ACTIVITY_INSTANT = 0; public static final int DEFAULT_JS_REWARD_TOP_ACTIVITY_INSTANT = 0; Loading apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3007,7 +3007,7 @@ public class JobSchedulerService extends com.android.server.SystemService } } } else if (BatteryManager.ACTION_DISCHARGING.equals(action)) { } else if (BatteryManager.ACTION_DISCHARGING.equals(action)) { if (DEBUG) { if (DEBUG) { Slog.d(TAG, "Disconnected from power @ " + sElapsedRealtimeClock.millis()); Slog.d(TAG, "Battery discharging @ " + sElapsedRealtimeClock.millis()); } } if (mCharging) { if (mCharging) { mCharging = false; mCharging = false; Loading apex/jobscheduler/service/java/com/android/server/tare/Agent.java +163 −78 File changed.Preview size limit exceeded, changes collapsed. Show changes apex/jobscheduler/service/java/com/android/server/tare/AlarmManagerEconomicPolicy.java +23 −8 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,8 @@ import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NO import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_MAX_CIRCULATION; import static android.app.tare.EconomyManager.DEFAULT_AM_HARD_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.DEFAULT_AM_INITIAL_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.DEFAULT_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.DEFAULT_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP; Loading Loading @@ -70,7 +71,8 @@ import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAK import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_MAX_CIRCULATION; import static android.app.tare.EconomyManager.KEY_AM_HARD_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.KEY_AM_INITIAL_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.KEY_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.KEY_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_OTHER_APP; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_OTHER_APP; Loading Loading @@ -143,7 +145,8 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { private long mMinSatiatedBalanceExempted; private long mMinSatiatedBalanceExempted; private long mMinSatiatedBalanceOther; private long mMinSatiatedBalanceOther; private long mMaxSatiatedBalance; private long mMaxSatiatedBalance; private long mMaxSatiatedCirculation; private long mInitialSatiatedConsumptionLimit; private long mHardSatiatedConsumptionLimit; private final KeyValueListParser mParser = new KeyValueListParser(','); private final KeyValueListParser mParser = new KeyValueListParser(','); private final InternalResourceService mInternalResourceService; private final InternalResourceService mInternalResourceService; Loading Loading @@ -179,8 +182,13 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { } } @Override @Override long getMaxSatiatedCirculation() { long getInitialSatiatedConsumptionLimit() { return mMaxSatiatedCirculation; return mInitialSatiatedConsumptionLimit; } @Override long getHardSatiatedConsumptionLimit() { return mHardSatiatedConsumptionLimit; } } @NonNull @NonNull Loading Loading @@ -217,8 +225,11 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP)); DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP)); mMaxSatiatedBalance = arcToNarc(mParser.getInt(KEY_AM_MAX_SATIATED_BALANCE, mMaxSatiatedBalance = arcToNarc(mParser.getInt(KEY_AM_MAX_SATIATED_BALANCE, DEFAULT_AM_MAX_SATIATED_BALANCE)); DEFAULT_AM_MAX_SATIATED_BALANCE)); mMaxSatiatedCirculation = arcToNarc(mParser.getInt(KEY_AM_MAX_CIRCULATION, mInitialSatiatedConsumptionLimit = arcToNarc(mParser.getInt( DEFAULT_AM_MAX_CIRCULATION)); KEY_AM_INITIAL_CONSUMPTION_LIMIT, DEFAULT_AM_INITIAL_CONSUMPTION_LIMIT)); mHardSatiatedConsumptionLimit = Math.max(mInitialSatiatedConsumptionLimit, arcToNarc(mParser.getInt( KEY_AM_HARD_CONSUMPTION_LIMIT, DEFAULT_AM_HARD_CONSUMPTION_LIMIT))); final long exactAllowWhileIdleWakeupBasePrice = arcToNarc( final long exactAllowWhileIdleWakeupBasePrice = arcToNarc( mParser.getInt(KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE, mParser.getInt(KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE, Loading Loading @@ -357,7 +368,11 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { pw.print("Other", narcToString(mMinSatiatedBalanceOther)).println(); pw.print("Other", narcToString(mMinSatiatedBalanceOther)).println(); pw.decreaseIndent(); pw.decreaseIndent(); pw.print("Max satiated balance", narcToString(mMaxSatiatedBalance)).println(); pw.print("Max satiated balance", narcToString(mMaxSatiatedBalance)).println(); pw.print("Max satiated circulation", narcToString(mMaxSatiatedCirculation)).println(); pw.print("Consumption limits: ["); pw.print(narcToString(mInitialSatiatedConsumptionLimit)); pw.print(", "); pw.print(narcToString(mHardSatiatedConsumptionLimit)); pw.println("]"); pw.println(); pw.println(); pw.println("Actions:"); pw.println("Actions:"); Loading apex/jobscheduler/service/java/com/android/server/tare/CompleteEconomicPolicy.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,7 @@ public class CompleteEconomicPolicy extends EconomicPolicy { private final SparseArray<Reward> mRewards = new SparseArray<>(); private final SparseArray<Reward> mRewards = new SparseArray<>(); private final int[] mCostModifiers; private final int[] mCostModifiers; private long mMaxSatiatedBalance; private long mMaxSatiatedBalance; private long mMaxSatiatedCirculation; private long mConsumptionLimit; CompleteEconomicPolicy(@NonNull InternalResourceService irs) { CompleteEconomicPolicy(@NonNull InternalResourceService irs) { super(irs); super(irs); Loading Loading @@ -74,9 +74,9 @@ public class CompleteEconomicPolicy extends EconomicPolicy { max = 0; max = 0; for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) { for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) { max += mEnabledEconomicPolicies.valueAt(i).getMaxSatiatedCirculation(); max += mEnabledEconomicPolicies.valueAt(i).getInitialSatiatedConsumptionLimit(); } } mMaxSatiatedCirculation = max; mConsumptionLimit = max; } } @Override @Override Loading @@ -94,8 +94,13 @@ public class CompleteEconomicPolicy extends EconomicPolicy { } } @Override @Override long getMaxSatiatedCirculation() { long getInitialSatiatedConsumptionLimit() { return mMaxSatiatedCirculation; return mConsumptionLimit; } @Override long getHardSatiatedConsumptionLimit() { return mConsumptionLimit; } } @NonNull @NonNull Loading Loading
apex/jobscheduler/framework/java/android/app/tare/EconomyManager.java +13 −5 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,9 @@ public class EconomyManager { /** @hide */ /** @hide */ public static final String KEY_AM_MAX_SATIATED_BALANCE = "am_max_satiated_balance"; public static final String KEY_AM_MAX_SATIATED_BALANCE = "am_max_satiated_balance"; /** @hide */ /** @hide */ public static final String KEY_AM_MAX_CIRCULATION = "am_max_circulation"; public static final String KEY_AM_INITIAL_CONSUMPTION_LIMIT = "am_initial_consumption_limit"; /** @hide */ public static final String KEY_AM_HARD_CONSUMPTION_LIMIT = "am_hard_consumption_limit"; // TODO: Add AlarmManager modifier keys // TODO: Add AlarmManager modifier keys /** @hide */ /** @hide */ public static final String KEY_AM_REWARD_TOP_ACTIVITY_INSTANT = public static final String KEY_AM_REWARD_TOP_ACTIVITY_INSTANT = Loading Loading @@ -163,7 +165,9 @@ public class EconomyManager { public static final String KEY_JS_MAX_SATIATED_BALANCE = public static final String KEY_JS_MAX_SATIATED_BALANCE = "js_max_satiated_balance"; "js_max_satiated_balance"; /** @hide */ /** @hide */ public static final String KEY_JS_MAX_CIRCULATION = "js_max_circulation"; public static final String KEY_JS_INITIAL_CONSUMPTION_LIMIT = "js_initial_consumption_limit"; /** @hide */ public static final String KEY_JS_HARD_CONSUMPTION_LIMIT = "js_hard_consumption_limit"; // TODO: Add JobScheduler modifier keys // TODO: Add JobScheduler modifier keys /** @hide */ /** @hide */ public static final String KEY_JS_REWARD_TOP_ACTIVITY_INSTANT = public static final String KEY_JS_REWARD_TOP_ACTIVITY_INSTANT = Loading Loading @@ -280,7 +284,9 @@ public class EconomyManager { /** @hide */ /** @hide */ public static final int DEFAULT_AM_MAX_SATIATED_BALANCE = 1440; public static final int DEFAULT_AM_MAX_SATIATED_BALANCE = 1440; /** @hide */ /** @hide */ public static final int DEFAULT_AM_MAX_CIRCULATION = 52000; public static final int DEFAULT_AM_INITIAL_CONSUMPTION_LIMIT = 28800; /** @hide */ public static final int DEFAULT_AM_HARD_CONSUMPTION_LIMIT = 52000; // TODO: add AlarmManager modifier default values // TODO: add AlarmManager modifier default values /** @hide */ /** @hide */ public static final int DEFAULT_AM_REWARD_TOP_ACTIVITY_INSTANT = 0; public static final int DEFAULT_AM_REWARD_TOP_ACTIVITY_INSTANT = 0; Loading Loading @@ -359,7 +365,7 @@ public class EconomyManager { // Default values JobScheduler factors // Default values JobScheduler factors // TODO: add time_since_usage variable to min satiated balance factors // TODO: add time_since_usage variable to min satiated balance factors /** @hide */ /** @hide */ public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_EXEMPTED = 50000; public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_EXEMPTED = 20000; /** @hide */ /** @hide */ public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP = 10000; public static final int DEFAULT_JS_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP = 10000; /** @hide */ /** @hide */ Loading @@ -367,7 +373,9 @@ public class EconomyManager { /** @hide */ /** @hide */ public static final int DEFAULT_JS_MAX_SATIATED_BALANCE = 60000; public static final int DEFAULT_JS_MAX_SATIATED_BALANCE = 60000; /** @hide */ /** @hide */ public static final int DEFAULT_JS_MAX_CIRCULATION = 691200; public static final int DEFAULT_JS_INITIAL_CONSUMPTION_LIMIT = 460_000; /** @hide */ public static final int DEFAULT_JS_HARD_CONSUMPTION_LIMIT = 900_000; // TODO: add JobScheduler modifier default values // TODO: add JobScheduler modifier default values /** @hide */ /** @hide */ public static final int DEFAULT_JS_REWARD_TOP_ACTIVITY_INSTANT = 0; public static final int DEFAULT_JS_REWARD_TOP_ACTIVITY_INSTANT = 0; Loading
apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3007,7 +3007,7 @@ public class JobSchedulerService extends com.android.server.SystemService } } } else if (BatteryManager.ACTION_DISCHARGING.equals(action)) { } else if (BatteryManager.ACTION_DISCHARGING.equals(action)) { if (DEBUG) { if (DEBUG) { Slog.d(TAG, "Disconnected from power @ " + sElapsedRealtimeClock.millis()); Slog.d(TAG, "Battery discharging @ " + sElapsedRealtimeClock.millis()); } } if (mCharging) { if (mCharging) { mCharging = false; mCharging = false; Loading
apex/jobscheduler/service/java/com/android/server/tare/Agent.java +163 −78 File changed.Preview size limit exceeded, changes collapsed. Show changes
apex/jobscheduler/service/java/com/android/server/tare/AlarmManagerEconomicPolicy.java +23 −8 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,8 @@ import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NO import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.DEFAULT_AM_MAX_CIRCULATION; import static android.app.tare.EconomyManager.DEFAULT_AM_HARD_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.DEFAULT_AM_INITIAL_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.DEFAULT_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.DEFAULT_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP; import static android.app.tare.EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP; Loading Loading @@ -70,7 +71,8 @@ import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAK import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP; import static android.app.tare.EconomyManager.KEY_AM_MAX_CIRCULATION; import static android.app.tare.EconomyManager.KEY_AM_HARD_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.KEY_AM_INITIAL_CONSUMPTION_LIMIT; import static android.app.tare.EconomyManager.KEY_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.KEY_AM_MAX_SATIATED_BALANCE; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_EXEMPTED; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_OTHER_APP; import static android.app.tare.EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_OTHER_APP; Loading Loading @@ -143,7 +145,8 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { private long mMinSatiatedBalanceExempted; private long mMinSatiatedBalanceExempted; private long mMinSatiatedBalanceOther; private long mMinSatiatedBalanceOther; private long mMaxSatiatedBalance; private long mMaxSatiatedBalance; private long mMaxSatiatedCirculation; private long mInitialSatiatedConsumptionLimit; private long mHardSatiatedConsumptionLimit; private final KeyValueListParser mParser = new KeyValueListParser(','); private final KeyValueListParser mParser = new KeyValueListParser(','); private final InternalResourceService mInternalResourceService; private final InternalResourceService mInternalResourceService; Loading Loading @@ -179,8 +182,13 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { } } @Override @Override long getMaxSatiatedCirculation() { long getInitialSatiatedConsumptionLimit() { return mMaxSatiatedCirculation; return mInitialSatiatedConsumptionLimit; } @Override long getHardSatiatedConsumptionLimit() { return mHardSatiatedConsumptionLimit; } } @NonNull @NonNull Loading Loading @@ -217,8 +225,11 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP)); DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP)); mMaxSatiatedBalance = arcToNarc(mParser.getInt(KEY_AM_MAX_SATIATED_BALANCE, mMaxSatiatedBalance = arcToNarc(mParser.getInt(KEY_AM_MAX_SATIATED_BALANCE, DEFAULT_AM_MAX_SATIATED_BALANCE)); DEFAULT_AM_MAX_SATIATED_BALANCE)); mMaxSatiatedCirculation = arcToNarc(mParser.getInt(KEY_AM_MAX_CIRCULATION, mInitialSatiatedConsumptionLimit = arcToNarc(mParser.getInt( DEFAULT_AM_MAX_CIRCULATION)); KEY_AM_INITIAL_CONSUMPTION_LIMIT, DEFAULT_AM_INITIAL_CONSUMPTION_LIMIT)); mHardSatiatedConsumptionLimit = Math.max(mInitialSatiatedConsumptionLimit, arcToNarc(mParser.getInt( KEY_AM_HARD_CONSUMPTION_LIMIT, DEFAULT_AM_HARD_CONSUMPTION_LIMIT))); final long exactAllowWhileIdleWakeupBasePrice = arcToNarc( final long exactAllowWhileIdleWakeupBasePrice = arcToNarc( mParser.getInt(KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE, mParser.getInt(KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE, Loading Loading @@ -357,7 +368,11 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy { pw.print("Other", narcToString(mMinSatiatedBalanceOther)).println(); pw.print("Other", narcToString(mMinSatiatedBalanceOther)).println(); pw.decreaseIndent(); pw.decreaseIndent(); pw.print("Max satiated balance", narcToString(mMaxSatiatedBalance)).println(); pw.print("Max satiated balance", narcToString(mMaxSatiatedBalance)).println(); pw.print("Max satiated circulation", narcToString(mMaxSatiatedCirculation)).println(); pw.print("Consumption limits: ["); pw.print(narcToString(mInitialSatiatedConsumptionLimit)); pw.print(", "); pw.print(narcToString(mHardSatiatedConsumptionLimit)); pw.println("]"); pw.println(); pw.println(); pw.println("Actions:"); pw.println("Actions:"); Loading
apex/jobscheduler/service/java/com/android/server/tare/CompleteEconomicPolicy.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,7 @@ public class CompleteEconomicPolicy extends EconomicPolicy { private final SparseArray<Reward> mRewards = new SparseArray<>(); private final SparseArray<Reward> mRewards = new SparseArray<>(); private final int[] mCostModifiers; private final int[] mCostModifiers; private long mMaxSatiatedBalance; private long mMaxSatiatedBalance; private long mMaxSatiatedCirculation; private long mConsumptionLimit; CompleteEconomicPolicy(@NonNull InternalResourceService irs) { CompleteEconomicPolicy(@NonNull InternalResourceService irs) { super(irs); super(irs); Loading Loading @@ -74,9 +74,9 @@ public class CompleteEconomicPolicy extends EconomicPolicy { max = 0; max = 0; for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) { for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) { max += mEnabledEconomicPolicies.valueAt(i).getMaxSatiatedCirculation(); max += mEnabledEconomicPolicies.valueAt(i).getInitialSatiatedConsumptionLimit(); } } mMaxSatiatedCirculation = max; mConsumptionLimit = max; } } @Override @Override Loading @@ -94,8 +94,13 @@ public class CompleteEconomicPolicy extends EconomicPolicy { } } @Override @Override long getMaxSatiatedCirculation() { long getInitialSatiatedConsumptionLimit() { return mMaxSatiatedCirculation; return mConsumptionLimit; } @Override long getHardSatiatedConsumptionLimit() { return mConsumptionLimit; } } @NonNull @NonNull Loading