From 118e2baabeea05a80883c03fb01ea07eb2071e11 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Tue, 27 Jun 2017 15:59:35 -0700 Subject: [PATCH] Fix the getForegroundActivityTotalTimeMs It should return milliseconds, not microseconds time Bug: 63073847 Test: RunSettingsRoboTests Change-Id: Ib7ddb947646062fc50a40d300829389e0ac401ee --- src/com/android/settings/fuelgauge/BatteryUtils.java | 3 ++- .../android/settings/fuelgauge/BatteryUtilsTest.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java index 4abc1b192ed..b5f94fc8219 100644 --- a/src/com/android/settings/fuelgauge/BatteryUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryUtils.java @@ -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; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java index 8dbb3be1c67..29c74da8b67 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java @@ -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);