diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java index 518fc0eb2c6..d4624c49bac 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java @@ -80,15 +80,16 @@ public class PowerUsageDetail extends Fragment implements Button.OnClickListener }; public static void startBatteryDetailPage( - SettingsActivity caller, BatteryStatsHelper helper, BatteryEntry entry, + SettingsActivity caller, BatteryStatsHelper helper, int statsType, BatteryEntry entry, boolean showLocationButton) { // Initialize mStats if necessary. helper.getStats(); + final int dischargeAmount = helper.getStats().getDischargeAmount(statsType); Bundle args = new Bundle(); args.putString(PowerUsageDetail.EXTRA_TITLE, entry.name); 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) Math.ceil(entry.sipper.value * 100 / helper.getMaxPower())); args.putLong(PowerUsageDetail.EXTRA_USAGE_DURATION, helper.getStatsPeriod()); diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 8a729941364..0f7eff24f62 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -152,7 +152,7 @@ public class PowerUsageSummary extends PreferenceFragment { PowerGaugePreference pgp = (PowerGaugePreference) preference; BatteryEntry entry = pgp.getInfo(); PowerUsageDetail.startBatteryDetailPage((SettingsActivity) getActivity(), mStatsHelper, - entry, true); + mStatsType, entry, true); return super.onPreferenceTreeClick(preferenceScreen, preference); } @@ -238,13 +238,7 @@ public class PowerUsageSummary extends PreferenceFragment { addNotAvailableMessage(); return; } - int dischargeAmount = mStatsType == BatteryStats.STATS_SINCE_CHARGED - ? mStatsHelper.getStats().getHighDischargeAmountSinceCharge() - : (mStatsHelper.getStats().getDischargeStartLevel() - - mStatsHelper.getStats().getDischargeCurrentLevel()); - if (dischargeAmount < 0) { - dischargeAmount = 0; - } + final int dischargeAmount = mStatsHelper.getStats().getDischargeAmount(mStatsType); mStatsHelper.refreshStats(BatteryStats.STATS_SINCE_CHARGED, UserHandle.myUserId()); List usageList = mStatsHelper.getUsageList(); for (int i=0; i