Loading core/java/android/util/SparseDoubleArray.java +1 −1 Original line number Diff line number Diff line Loading @@ -105,7 +105,7 @@ public class SparseDoubleArray implements Cloneable { * <p>This differs from {@link #put} because instead of replacing any previous value, it adds * (in the numerical sense) to it. */ public void add(int key, double summand) { public void incrementValue(int key, double summand) { final double oldValue = get(key); put(key, oldValue + summand); } Loading core/java/android/util/SparseLongArray.java +24 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,30 @@ public class SparseLongArray implements Cloneable { } } /** * Adds a mapping from the specified key to the specified value, * <b>adding</b> its value to the previous mapping from the specified key if there * was one. * * <p>This differs from {@link #put} because instead of replacing any previous value, it adds * (in the numerical sense) to it. * * @hide */ public void incrementValue(int key, long summand) { int i = ContainerHelpers.binarySearch(mKeys, mSize, key); if (i >= 0) { mValues[i] += summand; } else { i = ~i; mKeys = GrowingArrayUtils.insert(mKeys, mSize, i, key); mValues = GrowingArrayUtils.insert(mValues, mSize, i, summand); mSize++; } } /** * Returns the number of key-value mappings that this SparseLongArray * currently stores. Loading core/java/com/android/internal/os/BatteryStatsImpl.java +8 −8 Original line number Diff line number Diff line Loading @@ -12828,7 +12828,7 @@ public class BatteryStatsImpl extends BatteryStats { } } uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mWifiPowerCalculator.calcPowerWithoutControllerDataMah( entry.rxPackets, entry.txPackets, uidRunningMs, uidScanMs, uidBatchScanMs)); Loading Loading @@ -12955,7 +12955,7 @@ public class BatteryStatsImpl extends BatteryStats { if (uidEstimatedConsumptionMah != null) { double uidEstMah = mWifiPowerCalculator.calcPowerFromControllerDataMah( scanRxTimeSinceMarkMs, scanTxTimeSinceMarkMs, myIdleTimeMs); uidEstimatedConsumptionMah.add(uid.getUid(), uidEstMah); uidEstimatedConsumptionMah.incrementValue(uid.getUid(), uidEstMah); } } Loading @@ -12977,7 +12977,7 @@ public class BatteryStatsImpl extends BatteryStats { uid.getOrCreateWifiControllerActivityLocked().getOrCreateTxTimeCounters()[0] .increment(myTxTimeMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(uid.getUid(), uidEstimatedConsumptionMah.incrementValue(uid.getUid(), mWifiPowerCalculator.calcPowerFromControllerDataMah( 0, myTxTimeMs, 0)); } Loading @@ -12996,7 +12996,7 @@ public class BatteryStatsImpl extends BatteryStats { uid.getOrCreateWifiControllerActivityLocked().getOrCreateRxTimeCounter() .increment(myRxTimeMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(uid.getUid(), uidEstimatedConsumptionMah.incrementValue(uid.getUid(), mWifiPowerCalculator.calcPowerFromControllerDataMah( myRxTimeMs, 0, 0)); } Loading Loading @@ -13224,7 +13224,7 @@ public class BatteryStatsImpl extends BatteryStats { // Distribute measured mobile radio charge consumption based on app radio // active time if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mMobileRadioPowerCalculator.calcPowerFromRadioActiveDurationMah( appRadioTimeUs / 1000)); } Loading Loading @@ -13479,7 +13479,7 @@ public class BatteryStatsImpl extends BatteryStats { .increment(scanTimeTxSinceMarkMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mBluetoothPowerCalculator.calculatePowerMah( scanTimeRxSinceMarkMs, scanTimeTxSinceMarkMs, 0)); } Loading Loading @@ -13546,7 +13546,7 @@ public class BatteryStatsImpl extends BatteryStats { counter.getOrCreateRxTimeCounter().increment(timeRxMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mBluetoothPowerCalculator.calculatePowerMah(timeRxMs, 0, 0)); } } Loading @@ -13560,7 +13560,7 @@ public class BatteryStatsImpl extends BatteryStats { .increment(timeTxMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mBluetoothPowerCalculator.calculatePowerMah(0, timeTxMs, 0)); } } core/tests/coretests/src/android/util/SparseDoubleArrayTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -64,12 +64,12 @@ public class SparseDoubleArrayTest { } @Test public void testAdd() { public void testIncrementValue() { final SparseDoubleArray sda = new SparseDoubleArray(); sda.put(4, 6.1); sda.add(4, -1.2); sda.add(2, -1.2); sda.incrementValue(4, -1.2); sda.incrementValue(2, -1.2); assertEquals(6.1 - 1.2, sda.get(4), PRECISION); assertEquals(-1.2, sda.get(2), PRECISION); Loading core/tests/coretests/src/android/util/SparseLongArrayTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -154,4 +154,16 @@ public class SparseLongArrayTest { assertRemoved(startIndex, endIndex); assertTrue(isSame(sparseLongArray2, mSparseLongArray)); } @Test public void testIncrementValue() { final SparseLongArray sla = new SparseLongArray(); sla.put(4, 6); sla.incrementValue(4, 4); sla.incrementValue(2, 5); assertEquals(6 + 4, sla.get(4)); assertEquals(5, sla.get(2)); } } Loading
core/java/android/util/SparseDoubleArray.java +1 −1 Original line number Diff line number Diff line Loading @@ -105,7 +105,7 @@ public class SparseDoubleArray implements Cloneable { * <p>This differs from {@link #put} because instead of replacing any previous value, it adds * (in the numerical sense) to it. */ public void add(int key, double summand) { public void incrementValue(int key, double summand) { final double oldValue = get(key); put(key, oldValue + summand); } Loading
core/java/android/util/SparseLongArray.java +24 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,30 @@ public class SparseLongArray implements Cloneable { } } /** * Adds a mapping from the specified key to the specified value, * <b>adding</b> its value to the previous mapping from the specified key if there * was one. * * <p>This differs from {@link #put} because instead of replacing any previous value, it adds * (in the numerical sense) to it. * * @hide */ public void incrementValue(int key, long summand) { int i = ContainerHelpers.binarySearch(mKeys, mSize, key); if (i >= 0) { mValues[i] += summand; } else { i = ~i; mKeys = GrowingArrayUtils.insert(mKeys, mSize, i, key); mValues = GrowingArrayUtils.insert(mValues, mSize, i, summand); mSize++; } } /** * Returns the number of key-value mappings that this SparseLongArray * currently stores. Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +8 −8 Original line number Diff line number Diff line Loading @@ -12828,7 +12828,7 @@ public class BatteryStatsImpl extends BatteryStats { } } uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mWifiPowerCalculator.calcPowerWithoutControllerDataMah( entry.rxPackets, entry.txPackets, uidRunningMs, uidScanMs, uidBatchScanMs)); Loading Loading @@ -12955,7 +12955,7 @@ public class BatteryStatsImpl extends BatteryStats { if (uidEstimatedConsumptionMah != null) { double uidEstMah = mWifiPowerCalculator.calcPowerFromControllerDataMah( scanRxTimeSinceMarkMs, scanTxTimeSinceMarkMs, myIdleTimeMs); uidEstimatedConsumptionMah.add(uid.getUid(), uidEstMah); uidEstimatedConsumptionMah.incrementValue(uid.getUid(), uidEstMah); } } Loading @@ -12977,7 +12977,7 @@ public class BatteryStatsImpl extends BatteryStats { uid.getOrCreateWifiControllerActivityLocked().getOrCreateTxTimeCounters()[0] .increment(myTxTimeMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(uid.getUid(), uidEstimatedConsumptionMah.incrementValue(uid.getUid(), mWifiPowerCalculator.calcPowerFromControllerDataMah( 0, myTxTimeMs, 0)); } Loading @@ -12996,7 +12996,7 @@ public class BatteryStatsImpl extends BatteryStats { uid.getOrCreateWifiControllerActivityLocked().getOrCreateRxTimeCounter() .increment(myRxTimeMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(uid.getUid(), uidEstimatedConsumptionMah.incrementValue(uid.getUid(), mWifiPowerCalculator.calcPowerFromControllerDataMah( myRxTimeMs, 0, 0)); } Loading Loading @@ -13224,7 +13224,7 @@ public class BatteryStatsImpl extends BatteryStats { // Distribute measured mobile radio charge consumption based on app radio // active time if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mMobileRadioPowerCalculator.calcPowerFromRadioActiveDurationMah( appRadioTimeUs / 1000)); } Loading Loading @@ -13479,7 +13479,7 @@ public class BatteryStatsImpl extends BatteryStats { .increment(scanTimeTxSinceMarkMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mBluetoothPowerCalculator.calculatePowerMah( scanTimeRxSinceMarkMs, scanTimeTxSinceMarkMs, 0)); } Loading Loading @@ -13546,7 +13546,7 @@ public class BatteryStatsImpl extends BatteryStats { counter.getOrCreateRxTimeCounter().increment(timeRxMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mBluetoothPowerCalculator.calculatePowerMah(timeRxMs, 0, 0)); } } Loading @@ -13560,7 +13560,7 @@ public class BatteryStatsImpl extends BatteryStats { .increment(timeTxMs, elapsedRealtimeMs); if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.add(u.getUid(), uidEstimatedConsumptionMah.incrementValue(u.getUid(), mBluetoothPowerCalculator.calculatePowerMah(0, timeTxMs, 0)); } }
core/tests/coretests/src/android/util/SparseDoubleArrayTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -64,12 +64,12 @@ public class SparseDoubleArrayTest { } @Test public void testAdd() { public void testIncrementValue() { final SparseDoubleArray sda = new SparseDoubleArray(); sda.put(4, 6.1); sda.add(4, -1.2); sda.add(2, -1.2); sda.incrementValue(4, -1.2); sda.incrementValue(2, -1.2); assertEquals(6.1 - 1.2, sda.get(4), PRECISION); assertEquals(-1.2, sda.get(2), PRECISION); Loading
core/tests/coretests/src/android/util/SparseLongArrayTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -154,4 +154,16 @@ public class SparseLongArrayTest { assertRemoved(startIndex, endIndex); assertTrue(isSame(sparseLongArray2, mSparseLongArray)); } @Test public void testIncrementValue() { final SparseLongArray sla = new SparseLongArray(); sla.put(4, 6); sla.incrementValue(4, 4); sla.incrementValue(2, 5); assertEquals(6 + 4, sla.get(4)); assertEquals(5, sla.get(2)); } }