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

Commit b4cfeb60 authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Prevent zero-division when number of TX or RX packets is 0.

Bug: 386606184
Flag: EXEMPT bugfix
Test: atest PowerStatsTests
Change-Id: I6ca7b9308d85f6256aeb5f554de5be32570cdb28
parent 0fd6b40d
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -12746,21 +12746,25 @@ public class BatteryStatsImpl extends BatteryStats {
                // Distribute the remaining Tx power appropriately between all apps that transmitted
                // packets.
                if (totalTxPackets != 0 && leftOverTxTimeMs != 0) {
                    for (int i = 0; i < txPackets.size(); i++) {
                        final int uid = txPackets.keyAt(i);
                        final long myTxTimeMs = (txPackets.valueAt(i) * leftOverTxTimeMs)
                                / totalTxPackets;
                        txTimesMs.incrementValue(uid, myTxTimeMs);
                    }
                }
                // Distribute the remaining Rx power appropriately between all apps that received
                // packets.
                if (totalRxPackets != 0 && leftOverRxTimeMs != 0) {
                    for (int i = 0; i < rxPackets.size(); i++) {
                        final int uid = rxPackets.keyAt(i);
                        final long myRxTimeMs = (rxPackets.valueAt(i) * leftOverRxTimeMs)
                                / totalRxPackets;
                        rxTimesMs.incrementValue(uid, myRxTimeMs);
                    }
                }
                for (int i = 0; i < txTimesMs.size(); i++) {
                    final int uid = txTimesMs.keyAt(i);