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

Commit 6a85d3bd authored by jackqdyulei's avatar jackqdyulei
Browse files

Change the function "setPolicyLimitBytes" and "setPolicyWarningBytes".

Bug: 30560513

Change two functions to make sure that "warningBytes <= limitBytes".

Change-Id: I2e1809442f87dfa791c39f6769035a9bf81beb8c
parent dd39d599
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ public class NetworkPolicyEditor {
        return (policy != null) ? policy.warningBytes : WARNING_DISABLED;
    }

    public void setPolicyWarningBytes(NetworkTemplate template, long warningBytes) {
    private void setPolicyWarningBytesInner(NetworkTemplate template, long warningBytes) {
        final NetworkPolicy policy = getOrCreatePolicy(template);
        policy.warningBytes = warningBytes;
        policy.inferred = false;
@@ -175,12 +175,28 @@ public class NetworkPolicyEditor {
        writeAsync();
    }

    public void setPolicyWarningBytes(NetworkTemplate template, long warningBytes) {
        long limitBytes = getPolicyLimitBytes(template);

        // If the warningBytes are larger than limitBytes, set the warningBytes to limitBytes
        warningBytes = Math.min(warningBytes, limitBytes);
        setPolicyWarningBytesInner(template, warningBytes);
    }

    public long getPolicyLimitBytes(NetworkTemplate template) {
        final NetworkPolicy policy = getPolicy(template);
        return (policy != null) ? policy.limitBytes : LIMIT_DISABLED;
    }


    public void setPolicyLimitBytes(NetworkTemplate template, long limitBytes) {
        long warningBytes = getPolicyWarningBytes(template);

        // If the warningBytes are larger than limitBytes, set the warningBytes to limitBytes
        if (warningBytes > limitBytes) {
            setPolicyWarningBytesInner(template, limitBytes);
        }

        final NetworkPolicy policy = getOrCreatePolicy(template);
        policy.limitBytes = limitBytes;
        policy.inferred = false;