Fix wrong voice call time in battery page

The voice call is belong to DrainType.PHONE, which is not an app.
This cl stop using method in BatteryUtils to calculate the time, since
that method should only be used for DrainType.APP

Bug: 37402819
Test: RunSettingsRoboTests
Change-Id: I3aa7366401e54df87ffe913af0dcb1bcd5abf110
This commit is contained in:
jackqdyulei
2017-04-20 09:48:02 -07:00
parent 667d694220
commit 34145705de
2 changed files with 25 additions and 4 deletions

View File

@@ -73,6 +73,8 @@ public class AdvancedPowerUsageDetailTest {
private static final long FOREGROUND_TIME_US = 200 * 1000;
private static final long BACKGROUND_TIME_MS = 100;
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)
private Context mContext;
@@ -137,6 +139,7 @@ public class AdvancedPowerUsageDetailTest {
ReflectionHelpers.setField(mBatteryEntry, "sipper", mBatterySipper);
mBatteryEntry.iconId = ICON_ID;
mBatterySipper.uidObj = mUid;
mBatterySipper.drainType = BatterySipper.DrainType.APP;
mFragment.mHeaderPreference = mHeaderPreference;
mFragment.mState = mState;
@@ -190,6 +193,23 @@ public class AdvancedPowerUsageDetailTest {
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
public void testStartBatteryDetailPage_NormalApp() {
mBatterySipper.mPackages = PACKAGE_NAME;