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
This commit is contained in:
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user