Merge "Fix wrong voice call time in battery page" into oc-dev

am: 057bd05420

Change-Id: Id1d1c6755333251fa09378815a62211637d939c0
This commit is contained in:
jackqdyulei
2017-04-21 20:17:47 +00:00
committed by android-build-merger
2 changed files with 25 additions and 4 deletions

View File

@@ -101,11 +101,12 @@ public class AdvancedPowerUsageDetail extends PowerUsageBase implements
final BatterySipper sipper = entry.sipper; final BatterySipper sipper = entry.sipper;
final BatteryStats.Uid uid = sipper.uidObj; final BatteryStats.Uid uid = sipper.uidObj;
final BatteryUtils batteryUtils = BatteryUtils.getInstance(caller); final BatteryUtils batteryUtils = BatteryUtils.getInstance(caller);
final boolean isTypeApp = sipper.drainType == BatterySipper.DrainType.APP;
final long backgroundTimeMs = batteryUtils.getProcessTimeMs( final long foregroundTimeMs = isTypeApp ? batteryUtils.getProcessTimeMs(
BatteryUtils.StatusType.BACKGROUND, uid, which); BatteryUtils.StatusType.FOREGROUND, uid, which) : sipper.usageTimeMs;
final long foregroundTimeMs = batteryUtils.getProcessTimeMs( final long backgroundTimeMs = isTypeApp ? batteryUtils.getProcessTimeMs(
BatteryUtils.StatusType.FOREGROUND, uid, which); BatteryUtils.StatusType.BACKGROUND, uid, which) : 0;
if (ArrayUtils.isEmpty(sipper.mPackages)) { if (ArrayUtils.isEmpty(sipper.mPackages)) {
// populate data for system app // populate data for system app

View File

@@ -73,6 +73,8 @@ public class AdvancedPowerUsageDetailTest {
private static final long FOREGROUND_TIME_US = 200 * 1000; private static final long FOREGROUND_TIME_US = 200 * 1000;
private static final long BACKGROUND_TIME_MS = 100; private static final long BACKGROUND_TIME_MS = 100;
private static final long FOREGROUND_TIME_MS = 200; private static final long FOREGROUND_TIME_MS = 200;
private static final long PHONE_FOREGROUND_TIME_MS = 250 * 1000;
private static final long PHONE_BACKGROUND_TIME_MS = 0;
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext; private Context mContext;
@@ -137,6 +139,7 @@ public class AdvancedPowerUsageDetailTest {
ReflectionHelpers.setField(mBatteryEntry, "sipper", mBatterySipper); ReflectionHelpers.setField(mBatteryEntry, "sipper", mBatterySipper);
mBatteryEntry.iconId = ICON_ID; mBatteryEntry.iconId = ICON_ID;
mBatterySipper.uidObj = mUid; mBatterySipper.uidObj = mUid;
mBatterySipper.drainType = BatterySipper.DrainType.APP;
mFragment.mHeaderPreference = mHeaderPreference; mFragment.mHeaderPreference = mHeaderPreference;
mFragment.mState = mState; mFragment.mState = mState;
@@ -190,6 +193,23 @@ public class AdvancedPowerUsageDetailTest {
USAGE_PERCENT); USAGE_PERCENT);
} }
@Test
public void testStartBatteryDetailPage_typeNotApp_hasBasicData() {
mBatterySipper.drainType = BatterySipper.DrainType.PHONE;
mBatterySipper.usageTimeMs = PHONE_FOREGROUND_TIME_MS;
AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, mBatteryStatsHelper, 0,
mBatteryEntry, USAGE_PERCENT);
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME)).isEqualTo(
PHONE_FOREGROUND_TIME_MS);
assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME)).isEqualTo(
PHONE_BACKGROUND_TIME_MS);
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT)).isEqualTo(
USAGE_PERCENT);
}
@Test @Test
public void testStartBatteryDetailPage_NormalApp() { public void testStartBatteryDetailPage_NormalApp() {
mBatterySipper.mPackages = PACKAGE_NAME; mBatterySipper.mPackages = PACKAGE_NAME;