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

Commit dca9cf22 authored by Kweku Adams's avatar Kweku Adams
Browse files

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
parent ef6564cb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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:");
+15 −10
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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:");