Distribute the misc among all the apps

Distribute it in:
1. Battery main page(PowerUsageSummary)
2. Advanced battery page(PowerUsageAdvanced)

Bug: 37487061
Test: RunSettingsRoboTests
Change-Id: Id1810b81a6b380d908bcdc18421530e938578c37
This commit is contained in:
jackqdyulei
2017-04-21 13:46:17 -07:00
parent e5fa4cd4b5
commit a245188a65
4 changed files with 43 additions and 8 deletions

View File

@@ -69,8 +69,7 @@ public class PowerUsageAdvanced extends PowerUsageBase {
UsageType.UNACCOUNTED,
UsageType.OVERCOUNTED};
@VisibleForTesting
BatteryUtils mBatteryUtils;
private BatteryUtils mBatteryUtils;
private BatteryHistoryPreference mHistPref;
private PreferenceGroup mUsageListGroup;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
@@ -256,8 +255,10 @@ public class PowerUsageAdvanced extends PowerUsageBase {
final List<PowerUsageData> batteryDataList = new ArrayList<>(batteryDataMap.values());
final int dischargeAmount = statusHelper.getStats().getDischargeAmount(STATUS_TYPE);
final double totalPower = statusHelper.getTotalPower();
final double hiddenPower = calculateHiddenPower(batteryDataList);
for (final PowerUsageData usageData : batteryDataList) {
usageData.percentage = (usageData.totalPowerMah / totalPower) * dischargeAmount;
usageData.percentage = mBatteryUtils.calculateBatteryPercent(usageData.totalPowerMah,
totalPower, hiddenPower, dischargeAmount);
updateUsageDataSummary(usageData, totalPower, dischargeAmount);
}
@@ -267,6 +268,17 @@ public class PowerUsageAdvanced extends PowerUsageBase {
return batteryDataList;
}
@VisibleForTesting
double calculateHiddenPower(List<PowerUsageData> batteryDataList) {
for (final PowerUsageData usageData : batteryDataList) {
if (usageData.usageType == UsageType.UNACCOUNTED) {
return usageData.totalPowerMah;
}
}
return 0;
}
@VisibleForTesting
void updateUsageDataSummary(PowerUsageData usageData, double totalPower, int dischargeAmount) {
if (shouldHideSummary(usageData)) {
@@ -320,6 +332,10 @@ public class PowerUsageAdvanced extends PowerUsageBase {
void setUserManager(UserManager userManager) {
mUserManager = userManager;
}
@VisibleForTesting
void setBatteryUtils(BatteryUtils batteryUtils) {
mBatteryUtils = batteryUtils;
}
/**
* Class that contains data used in {@link PowerGaugePreference}.