Fix the getForegroundActivityTotalTimeMs

The parameter in timer should be microseconds, not milliseconds

Bug: 63073847
Test: RunSettingsRoboTests
Change-Id: I5e451aee9eb30815fbefe12c0bfdc85dff884b8e
This commit is contained in:
jackqdyulei
2017-06-28 12:24:02 -07:00
parent 118e2baabe
commit 85e25e34fd
2 changed files with 7 additions and 5 deletions

View File

@@ -330,8 +330,8 @@ public class BatteryUtils {
long getForegroundActivityTotalTimeMs(BatteryStats.Uid uid, long rawRealtimeMs) { long getForegroundActivityTotalTimeMs(BatteryStats.Uid uid, long rawRealtimeMs) {
final BatteryStats.Timer timer = uid.getForegroundActivityTimer(); final BatteryStats.Timer timer = uid.getForegroundActivityTimer();
if (timer != null) { if (timer != null) {
return convertUsToMs( return convertUsToMs(timer.getTotalTimeLocked(convertMsToUs(rawRealtimeMs),
timer.getTotalTimeLocked(rawRealtimeMs, BatteryStats.STATS_SINCE_CHARGED)); BatteryStats.STATS_SINCE_CHARGED));
} }
return 0; return 0;

View File

@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge;
import android.content.Context; import android.content.Context;
import android.os.BatteryStats; import android.os.BatteryStats;
import android.os.Process; import android.os.Process;
import android.os.SystemClock;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import com.android.internal.os.BatterySipper; import com.android.internal.os.BatterySipper;
@@ -362,11 +363,12 @@ public class BatteryUtilsTest {
@Test @Test
public void testGetForegroundActivityTotalTimeMs_returnMilliseconds() { public void testGetForegroundActivityTotalTimeMs_returnMilliseconds() {
final long rawRealtimeMs = SystemClock.elapsedRealtime();
doReturn(mTimer).when(mUid).getForegroundActivityTimer(); doReturn(mTimer).when(mUid).getForegroundActivityTimer();
doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer).getTotalTimeLocked(anyLong(), doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer)
anyInt()); .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); TIME_SINCE_LAST_FULL_CHARGE_MS);
} }