Fix updating max circulation value.

The individual EconomicPolicies were correctly reading the Settings
constants for the max circulation in setup(), but
CompleteEconomicPolicy treated those values as final upon
initialization, so it wasn't updating the max circulation.

Bug: 158300259
Test: set value via adb and confirm limit increased in dumpsys
Change-Id: Ic9769a4173d652d8dc2ca43677e4618c57869613
This commit is contained in:
Kweku Adams
2021-12-02 11:28:29 -08:00
parent ef6564cbfb
commit dca9cf22a6
3 changed files with 17 additions and 12 deletions

View File

@@ -357,7 +357,7 @@ public class AlarmManagerEconomicPolicy extends EconomicPolicy {
pw.print("Other", narcToString(mMinSatiatedBalanceOther)).println();
pw.decreaseIndent();
pw.print("Max satiated balance", narcToString(mMaxSatiatedBalance)).println();
pw.print("Min satiated circulation", narcToString(mMaxSatiatedCirculation)).println();
pw.print("Max satiated circulation", narcToString(mMaxSatiatedCirculation)).println();
pw.println();
pw.println("Actions:");

View File

@@ -33,8 +33,8 @@ public class CompleteEconomicPolicy extends EconomicPolicy {
/** Lazily populated set of rewards covered by this policy. */
private final SparseArray<Reward> mRewards = new SparseArray<>();
private final int[] mCostModifiers;
private final long mMaxSatiatedBalance;
private final long mMaxSatiatedCirculation;
private long mMaxSatiatedBalance;
private long mMaxSatiatedCirculation;
CompleteEconomicPolicy(@NonNull InternalResourceService irs) {
super(irs);
@@ -53,6 +53,19 @@ public class CompleteEconomicPolicy extends EconomicPolicy {
mCostModifiers[i] = costModifiers.valueAt(i);
}
updateMaxBalances();
}
@Override
void setup() {
super.setup();
for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) {
mEnabledEconomicPolicies.valueAt(i).setup();
}
updateMaxBalances();
}
private void updateMaxBalances() {
long max = 0;
for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) {
max += mEnabledEconomicPolicies.valueAt(i).getMaxSatiatedBalance();
@@ -66,14 +79,6 @@ public class CompleteEconomicPolicy extends EconomicPolicy {
mMaxSatiatedCirculation = max;
}
@Override
void setup() {
super.setup();
for (int i = 0; i < mEnabledEconomicPolicies.size(); ++i) {
mEnabledEconomicPolicies.valueAt(i).setup();
}
}
@Override
long getMinSatiatedBalance(final int userId, @NonNull final String pkgName) {
long min = 0;

View File

@@ -332,7 +332,7 @@ public class JobSchedulerEconomicPolicy extends EconomicPolicy {
pw.print("Other", narcToString(mMinSatiatedBalanceOther)).println();
pw.decreaseIndent();
pw.print("Max satiated balance", narcToString(mMaxSatiatedBalance)).println();
pw.print("Min satiated circulation", narcToString(mMaxSatiatedCirculation)).println();
pw.print("Max satiated circulation", narcToString(mMaxSatiatedCirculation)).println();
pw.println();
pw.println("Actions:");