More optimization of dumpsys output.

There are three major classes of changes here:

- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
diff --git a/services/java/com/android/server/IntentResolver.java b/services/java/com/android/server/IntentResolver.java
index b534ef1..72efca5 100644
--- a/services/java/com/android/server/IntentResolver.java
+++ b/services/java/com/android/server/IntentResolver.java
@@ -16,6 +16,7 @@
 
 package com.android.server;
 
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -89,11 +90,11 @@
         }
     }
 
-    void dumpMap(Printer out, String prefix, Map<String, ArrayList<F>> map) {
+    void dumpMap(PrintWriter out, String prefix, Map<String, ArrayList<F>> map) {
         String eprefix = prefix + "  ";
         String fprefix = prefix + "    ";
         for (Map.Entry<String, ArrayList<F>> e : map.entrySet()) {
-            out.println(eprefix + e.getKey() + ":");
+            out.print(eprefix); out.print(e.getKey()); out.println(":");
             ArrayList<F> a = e.getValue();
             final int N = a.size();
             for (int i=0; i<N; i++) {
@@ -102,24 +103,25 @@
         }
     }
 
-    public void dump(Printer out, String prefix) {
-        out.println(prefix + "Full MIME Types:");
-        dumpMap(out, prefix+"  ", mTypeToFilter);
-        out.println(prefix);
-        out.println(prefix + "Base MIME Types:");
-        dumpMap(out, prefix+"  ", mBaseTypeToFilter);
-        out.println(prefix);
-        out.println(prefix + "Wild MIME Types:");
-        dumpMap(out, prefix+"  ", mWildTypeToFilter);
-        out.println(prefix);
-        out.println(prefix + "Schemes:");
-        dumpMap(out, prefix+"  ", mSchemeToFilter);
-        out.println(prefix);
-        out.println(prefix + "Non-Data Actions:");
-        dumpMap(out, prefix+"  ", mActionToFilter);
-        out.println(prefix);
-        out.println(prefix + "MIME Typed Actions:");
-        dumpMap(out, prefix+"  ", mTypedActionToFilter);
+    public void dump(PrintWriter out, String prefix) {
+        String innerPrefix = prefix + "  ";
+        out.print(prefix); out.println("Full MIME Types:");
+        dumpMap(out, innerPrefix, mTypeToFilter);
+        out.println(" ");
+        out.print(prefix); out.println("Base MIME Types:");
+        dumpMap(out, innerPrefix, mBaseTypeToFilter);
+        out.println(" ");
+        out.print(prefix); out.println("Wild MIME Types:");
+        dumpMap(out, innerPrefix, mWildTypeToFilter);
+        out.println(" ");
+        out.print(prefix); out.println("Schemes:");
+        dumpMap(out, innerPrefix, mSchemeToFilter);
+        out.println(" ");
+        out.print(prefix); out.println("Non-Data Actions:");
+        dumpMap(out, innerPrefix, mActionToFilter);
+        out.println(" ");
+        out.print(prefix); out.println("MIME Typed Actions:");
+        dumpMap(out, innerPrefix, mTypedActionToFilter);
     }
 
     private class IteratorWrapper implements Iterator<F> {
@@ -275,8 +277,8 @@
         Collections.sort(results, mResolvePrioritySorter);
     }
 
-    protected void dumpFilter(Printer out, String prefix, F filter) {
-        out.println(prefix + filter);
+    protected void dumpFilter(PrintWriter out, String prefix, F filter) {
+        out.print(prefix); out.println(filter);
     }
 
     private final int register_mime_types(F filter, String prefix) {