Bat stats: misc, percents are of battery drain.

Change-Id: I6f1fb6ff33f524fe76d519a6194fad67559193bd
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5b50de0..68329c2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3606,7 +3606,7 @@
     <!-- Label for power consumed when Idle -->
     <string name="power_idle" product="default">Phone idle</string>
     <!-- Label for power that we aren't able to account for -->
-    <string name="power_unaccounted">Unknown</string>
+    <string name="power_unaccounted">Miscellaneous</string>
     <!-- Label for power that we computed too much for -->
     <string name="power_overcounted">Over-counted</string>
 
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
index e10b74f..a028adf 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
@@ -46,7 +46,7 @@
     public void setPercent(double percentOfMax, double percentOfTotal) {
         mProgress = (int) Math.ceil(percentOfMax);
         mProgressText = getContext().getResources().getString(
-                R.string.percentage, (int) Math.ceil(percentOfTotal));
+                R.string.percentage, (int) (percentOfTotal+.5));
         notifyChanged();
     }
 
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 24b5060..8a729941 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -238,14 +238,21 @@
             addNotAvailableMessage();
             return;
         }
+        int dischargeAmount = mStatsType == BatteryStats.STATS_SINCE_CHARGED
+                ? mStatsHelper.getStats().getHighDischargeAmountSinceCharge()
+                : (mStatsHelper.getStats().getDischargeStartLevel()
+                        - mStatsHelper.getStats().getDischargeCurrentLevel());
+        if (dischargeAmount < 0) {
+            dischargeAmount = 0;
+        }
         mStatsHelper.refreshStats(BatteryStats.STATS_SINCE_CHARGED, UserHandle.myUserId());
         List<BatterySipper> usageList = mStatsHelper.getUsageList();
         for (int i=0; i<usageList.size(); i++) {
             BatterySipper sipper = usageList.get(i);
             if ((sipper.value*60*60) < MIN_POWER_THRESHOLD) continue;
             final double percentOfTotal =
-                    ((sipper.value / mStatsHelper.getTotalPower()) * 100);
-            if (percentOfTotal < 1) continue;
+                    ((sipper.value / mStatsHelper.getTotalPower()) * dischargeAmount);
+            if (((int)(percentOfTotal+.5)) < 1) continue;
             BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper);
             PowerGaugePreference pref =
                     new PowerGaugePreference(getActivity(), entry.getIcon(), entry);