Fix the getForegroundActivityTotalTimeMs

It should return milliseconds, not microseconds time

Bug: 63073847
Test: RunSettingsRoboTests
Change-Id: Ib7ddb947646062fc50a40d300829389e0ac401ee
This commit is contained in:
jackqdyulei
2017-06-27 15:59:35 -07:00
parent 38b7d50a49
commit 118e2baabe
2 changed files with 14 additions and 1 deletions

View File

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

View File

@@ -95,6 +95,8 @@ public class BatteryUtilsTest {
@Mock
private BatteryStats.Uid mUid;
@Mock
private BatteryStats.Timer mTimer;
@Mock
private BatterySipper mNormalBatterySipper;
@Mock
private BatterySipper mWifiBatterySipper;
@@ -358,6 +360,16 @@ public class BatteryUtilsTest {
.isEqualTo(R.string.battery_abnormal_location_summary);
}
@Test
public void testGetForegroundActivityTotalTimeMs_returnMilliseconds() {
doReturn(mTimer).when(mUid).getForegroundActivityTimer();
doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer).getTotalTimeLocked(anyLong(),
anyInt());
assertThat(mBatteryUtils.getForegroundActivityTotalTimeMs(mUid, 0)).isEqualTo(
TIME_SINCE_LAST_FULL_CHARGE_MS);
}
private BatterySipper createTestSmearBatterySipper(long activityTime, long topTime,
double totalPowerMah, int uidCode, boolean isUidNull) {
final BatterySipper sipper = mock(BatterySipper.class);