From 01e690e37781553bae0dea3f7208103bb5474970 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Thu, 4 May 2017 12:38:08 -0700 Subject: [PATCH] Only use PROCESS_STATE_TOP as foreground time. There are some miscalculations in state FOREGROUND_SERVICE and FOREGROUND, so we move them out of the foreground time for now. We will fix it after O and may add them back later. Bug: 37000096 Test: RunSettingsRoboTests Change-Id: Ic3f2f7fa69e8a213895c601630d1cca94fd32220 --- src/com/android/settings/fuelgauge/BatteryUtils.java | 4 +--- .../settings/fuelgauge/AdvancedPowerUsageDetailTest.java | 2 +- .../src/com/android/settings/fuelgauge/BatteryUtilsTest.java | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java index e1260990e7a..c4f0ecf01c5 100644 --- a/src/com/android/settings/fuelgauge/BatteryUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryUtils.java @@ -100,9 +100,7 @@ public class BatteryUtils { private long getProcessForegroundTimeMs(BatteryStats.Uid uid, int which) { final long rawRealTimeUs = convertMsToUs(SystemClock.elapsedRealtime()); - final int foregroundTypes[] = {BatteryStats.Uid.PROCESS_STATE_TOP, - BatteryStats.Uid.PROCESS_STATE_FOREGROUND_SERVICE, - BatteryStats.Uid.PROCESS_STATE_FOREGROUND}; + final int foregroundTypes[] = {BatteryStats.Uid.PROCESS_STATE_TOP}; Log.v(TAG, "package: " + mPackageManager.getNameForUid(uid.getUid())); long timeUs = 0; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index 4305dc73b3b..d9934b1996b 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -137,7 +137,7 @@ public class AdvancedPowerUsageDetailTest { doReturn(BACKGROUND_TIME_US).when(mUid).getProcessStateTime( eq(BatteryStats.Uid.PROCESS_STATE_BACKGROUND), anyLong(), anyInt()); doReturn(FOREGROUND_TIME_US).when(mUid).getProcessStateTime( - eq(BatteryStats.Uid.PROCESS_STATE_FOREGROUND), anyLong(), anyInt()); + eq(BatteryStats.Uid.PROCESS_STATE_TOP), anyLong(), anyInt()); ReflectionHelpers.setField(mBatteryEntry, "sipper", mBatterySipper); mBatteryEntry.iconId = ICON_ID; mBatterySipper.uidObj = mUid; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java index bfc28619008..2335a0a46d5 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java @@ -64,9 +64,9 @@ public class BatteryUtilsTest { private static final long TIME_STATE_BACKGROUND = 6000 * UNIT; private static final int UID = 123; - private static final long TIME_EXPECTED_FOREGROUND = 6500; + private static final long TIME_EXPECTED_FOREGROUND = 1500; private static final long TIME_EXPECTED_BACKGROUND = 6000; - private static final long TIME_EXPECTED_ALL = 12500; + private static final long TIME_EXPECTED_ALL = 7500; private static final double BATTERY_SCREEN_USAGE = 300; private static final double BATTERY_SYSTEM_USAGE = 600; private static final double BATTERY_OVERACCOUNTED_USAGE = 500;