Better --unplugged support when dumping battery.

Also fixes logBatteryStatsLocked() to output valid dump data, instead
of just a usage message.

Bug: 8708665
Change-Id: Ie0d8d90e1a470b7e1e902643333309c2cf7bdb72
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 29e8d9c..d0f7511 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -2254,7 +2254,7 @@
      * @param pw a Printer to receive the dump output.
      */
     @SuppressWarnings("unused")
-    public void dumpLocked(PrintWriter pw) {
+    public void dumpLocked(PrintWriter pw, boolean isUnpluggedOnly) {
         prepareForDumpLocked();
 
         long now = getHistoryBaseTime() + SystemClock.elapsedRealtime();
@@ -2306,28 +2306,22 @@
         if (didPid) {
             pw.println("");
         }
-        
-        pw.println("Statistics since last charge:");
-        pw.println("  System starts: " + getStartCount()
-                + ", currently on battery: " + getIsOnBattery());
-        dumpLocked(pw, "", STATS_SINCE_CHARGED, -1);
-        pw.println("");
+
+        if (!isUnpluggedOnly) {
+            pw.println("Statistics since last charge:");
+            pw.println("  System starts: " + getStartCount()
+                    + ", currently on battery: " + getIsOnBattery());
+            dumpLocked(pw, "", STATS_SINCE_CHARGED, -1);
+            pw.println("");
+        }
         pw.println("Statistics since last unplugged:");
         dumpLocked(pw, "", STATS_SINCE_UNPLUGGED, -1);
     }
     
     @SuppressWarnings("unused")
-    public void dumpCheckinLocked(PrintWriter pw, String[] args, List<ApplicationInfo> apps) {
+    public void dumpCheckinLocked(
+            PrintWriter pw, List<ApplicationInfo> apps, boolean isUnpluggedOnly) {
         prepareForDumpLocked();
-
-        boolean isUnpluggedOnly = false;
-        
-        for (String arg : args) {
-            if ("-u".equals(arg)) {
-                if (LOCAL_LOGV) Log.v("BatteryStats", "Dumping unplugged data");
-                isUnpluggedOnly = true;
-            }
-        }
         
         if (apps != null) {
             SparseArray<ArrayList<String>> uids = new SparseArray<ArrayList<String>>();