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

Commit 98a40d3c authored by Nathan Harold's avatar Nathan Harold
Browse files

Additional checks for ModemActivityInfo.isValid()

Added checks in isValid for:
-A non-empty report
-Valid individual TxTime values
-Valid RxTime
-Valid EnergyUsed

Bug: 28278425
Bug: 28247832
Change-Id: I294fc200e81c828fbdd0e92b9ac4ae96fd7db6dc
parent ecdc5c44
Loading
Loading
Loading
Loading
+18 −6
Original line number Diff line number Diff line
@@ -151,12 +151,24 @@ public class ModemActivityInfo implements Parcelable {
     * @return if the record is valid
     */
    public boolean isValid() {
        int totalTxTimeMs = 0;
        int txTime [] = getTxTimeMillis();
        for (int i = 0; i < TX_POWER_LEVELS; i++) {
            totalTxTimeMs += txTime[i];
        for (int txVal : getTxTimeMillis()) {
            if(txVal < 0) {
                return false;
            }
        }

        return ((getIdleTimeMillis() >= 0) && (getSleepTimeMillis() >= 0)
                && (getRxTimeMillis() >= 0) && (getEnergyUsed() >= 0) && !isEmpty());
    }
        return ((getIdleTimeMillis() >= 0) && (totalTxTimeMs >= 0)
                && (getSleepTimeMillis() >= 0) && (getIdleTimeMillis() >= 0));

    private boolean isEmpty() {
        for (int txVal : getTxTimeMillis()) {
            if(txVal != 0) {
                return false;
            }
        }

        return ((getIdleTimeMillis() == 0) && (getSleepTimeMillis() == 0)
                && (getRxTimeMillis() == 0) && (getEnergyUsed() == 0));
    }
}