Fix the getForegroundActivityTotalTimeMs
The parameter in timer should be microseconds, not milliseconds Bug: 63073847 Test: RunSettingsRoboTests Change-Id: I5e451aee9eb30815fbefe12c0bfdc85dff884b8e
This commit is contained in:
@@ -330,8 +330,8 @@ public class BatteryUtils {
|
||||
long getForegroundActivityTotalTimeMs(BatteryStats.Uid uid, long rawRealtimeMs) {
|
||||
final BatteryStats.Timer timer = uid.getForegroundActivityTimer();
|
||||
if (timer != null) {
|
||||
return convertUsToMs(
|
||||
timer.getTotalTimeLocked(rawRealtimeMs, BatteryStats.STATS_SINCE_CHARGED));
|
||||
return convertUsToMs(timer.getTotalTimeLocked(convertMsToUs(rawRealtimeMs),
|
||||
BatteryStats.STATS_SINCE_CHARGED));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge;
|
||||
import android.content.Context;
|
||||
import android.os.BatteryStats;
|
||||
import android.os.Process;
|
||||
import android.os.SystemClock;
|
||||
import android.text.format.DateUtils;
|
||||
|
||||
import com.android.internal.os.BatterySipper;
|
||||
@@ -362,11 +363,12 @@ public class BatteryUtilsTest {
|
||||
|
||||
@Test
|
||||
public void testGetForegroundActivityTotalTimeMs_returnMilliseconds() {
|
||||
final long rawRealtimeMs = SystemClock.elapsedRealtime();
|
||||
doReturn(mTimer).when(mUid).getForegroundActivityTimer();
|
||||
doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer).getTotalTimeLocked(anyLong(),
|
||||
anyInt());
|
||||
doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer)
|
||||
.getTotalTimeLocked(rawRealtimeMs * 1000, BatteryStats.STATS_SINCE_CHARGED);
|
||||
|
||||
assertThat(mBatteryUtils.getForegroundActivityTotalTimeMs(mUid, 0)).isEqualTo(
|
||||
assertThat(mBatteryUtils.getForegroundActivityTotalTimeMs(mUid, rawRealtimeMs)).isEqualTo(
|
||||
TIME_SINCE_LAST_FULL_CHARGE_MS);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user