Fix to show correct percentage in battery details.

Change-Id: I5745ca4dc6330b044e02e94630cf3d2c3e1266af
This commit is contained in:
Dianne Hackborn
2014-03-19 16:57:33 -07:00
parent 3929cdcfca
commit 1ca16bb65b
2 changed files with 5 additions and 10 deletions

View File

@@ -80,15 +80,16 @@ public class PowerUsageDetail extends Fragment implements Button.OnClickListener
}; };
public static void startBatteryDetailPage( public static void startBatteryDetailPage(
SettingsActivity caller, BatteryStatsHelper helper, BatteryEntry entry, SettingsActivity caller, BatteryStatsHelper helper, int statsType, BatteryEntry entry,
boolean showLocationButton) { boolean showLocationButton) {
// Initialize mStats if necessary. // Initialize mStats if necessary.
helper.getStats(); helper.getStats();
final int dischargeAmount = helper.getStats().getDischargeAmount(statsType);
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString(PowerUsageDetail.EXTRA_TITLE, entry.name); args.putString(PowerUsageDetail.EXTRA_TITLE, entry.name);
args.putInt(PowerUsageDetail.EXTRA_PERCENT, (int) args.putInt(PowerUsageDetail.EXTRA_PERCENT, (int)
Math.ceil(entry.sipper.value * 100 / helper.getTotalPower())); ((entry.sipper.value * dischargeAmount / helper.getTotalPower()) + .5));
args.putInt(PowerUsageDetail.EXTRA_GAUGE, (int) args.putInt(PowerUsageDetail.EXTRA_GAUGE, (int)
Math.ceil(entry.sipper.value * 100 / helper.getMaxPower())); Math.ceil(entry.sipper.value * 100 / helper.getMaxPower()));
args.putLong(PowerUsageDetail.EXTRA_USAGE_DURATION, helper.getStatsPeriod()); args.putLong(PowerUsageDetail.EXTRA_USAGE_DURATION, helper.getStatsPeriod());

View File

@@ -152,7 +152,7 @@ public class PowerUsageSummary extends PreferenceFragment {
PowerGaugePreference pgp = (PowerGaugePreference) preference; PowerGaugePreference pgp = (PowerGaugePreference) preference;
BatteryEntry entry = pgp.getInfo(); BatteryEntry entry = pgp.getInfo();
PowerUsageDetail.startBatteryDetailPage((SettingsActivity) getActivity(), mStatsHelper, PowerUsageDetail.startBatteryDetailPage((SettingsActivity) getActivity(), mStatsHelper,
entry, true); mStatsType, entry, true);
return super.onPreferenceTreeClick(preferenceScreen, preference); return super.onPreferenceTreeClick(preferenceScreen, preference);
} }
@@ -238,13 +238,7 @@ public class PowerUsageSummary extends PreferenceFragment {
addNotAvailableMessage(); addNotAvailableMessage();
return; return;
} }
int dischargeAmount = mStatsType == BatteryStats.STATS_SINCE_CHARGED final int dischargeAmount = mStatsHelper.getStats().getDischargeAmount(mStatsType);
? mStatsHelper.getStats().getHighDischargeAmountSinceCharge()
: (mStatsHelper.getStats().getDischargeStartLevel()
- mStatsHelper.getStats().getDischargeCurrentLevel());
if (dischargeAmount < 0) {
dischargeAmount = 0;
}
mStatsHelper.refreshStats(BatteryStats.STATS_SINCE_CHARGED, UserHandle.myUserId()); mStatsHelper.refreshStats(BatteryStats.STATS_SINCE_CHARGED, UserHandle.myUserId());
List<BatterySipper> usageList = mStatsHelper.getUsageList(); List<BatterySipper> usageList = mStatsHelper.getUsageList();
for (int i=0; i<usageList.size(); i++) { for (int i=0; i<usageList.size(); i++) {