Loading core/java/android/service/wallpaper/WallpaperService.java +1 −1 Original line number Diff line number Diff line Loading @@ -538,7 +538,7 @@ public abstract class WallpaperService extends Service { out.print(prefix); out.print("mType="); out.print(mType); out.print(" mWindowFlags="); out.print(mWindowFlags); out.print(" mCurWindowFlags="); out.println(mCurWindowFlags); out.print(" mWindowPrivateFlags="); out.print(mWindowPrivateFlags); out.print(prefix); out.print("mWindowPrivateFlags="); out.print(mWindowPrivateFlags); out.print(" mCurWindowPrivateFlags="); out.println(mCurWindowPrivateFlags); out.print(prefix); out.print("mVisibleInsets="); out.print(mVisibleInsets.toShortString()); Loading core/java/com/android/internal/app/ProcessStats.java +4 −2 Original line number Diff line number Diff line Loading @@ -1079,7 +1079,9 @@ public final class ProcessStats implements Parcelable { ProcessDataCollection totals = new ProcessDataCollection(screenStates, memStates, procStates); computeProcessData(proc, totals, now); if (totals.totalTime != 0 || totals.numPss != 0) { double percentage = (double) totals.totalTime / (double) totalTime * 100; // We don't print percentages < .01, so just drop those. if (percentage >= 0.005 || totals.numPss != 0) { if (prefix != null) { pw.print(prefix); } Loading services/core/java/com/android/server/IntentResolver.java +67 −30 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import android.net.Uri; Loading @@ -31,6 +30,7 @@ import android.util.FastImmutableArraySet; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import android.util.MutableInt; import android.util.PrintWriterPrinter; import android.util.Slog; import android.util.LogPrinter; Loading Loading @@ -213,17 +213,45 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { } boolean dumpMap(PrintWriter out, String titlePrefix, String title, String prefix, Map<String, F[]> map, String packageName, boolean printFilter) { String eprefix = prefix + " "; String fprefix = prefix + " "; String prefix, ArrayMap<String, F[]> map, String packageName, boolean printFilter, boolean collapseDuplicates) { final String eprefix = prefix + " "; final String fprefix = prefix + " "; final ArrayMap<Object, MutableInt> found = new ArrayMap<>(); boolean printedSomething = false; Printer printer = null; for (Map.Entry<String, F[]> e : map.entrySet()) { F[] a = e.getValue(); for (int mapi=0; mapi<map.size(); mapi++) { F[] a = map.valueAt(mapi); final int N = a.length; boolean printedHeader = false; F filter; if (collapseDuplicates) { found.clear(); for (int i=0; i<N && (filter=a[i]) != null; i++) { if (packageName != null && !isPackageForFilter(packageName, filter)) { continue; } Object label = filterToLabel(filter); int index = found.indexOfKey(label); if (index < 0) { found.put(label, new MutableInt(1)); } else { found.valueAt(index).value++; } } for (int i=0; i<found.size(); i++) { if (title != null) { out.print(titlePrefix); out.println(title); title = null; } if (!printedHeader) { out.print(eprefix); out.print(map.keyAt(mapi)); out.println(":"); printedHeader = true; } printedSomething = true; dumpFilterLabel(out, fprefix, found.keyAt(i), found.valueAt(i).value); } } else { for (int i=0; i<N && (filter=a[i]) != null; i++) { if (packageName != null && !isPackageForFilter(packageName, filter)) { continue; Loading @@ -233,7 +261,7 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { title = null; } if (!printedHeader) { out.print(eprefix); out.print(e.getKey()); out.println(":"); out.print(eprefix); out.print(map.keyAt(mapi)); out.println(":"); printedHeader = true; } printedSomething = true; Loading @@ -246,36 +274,37 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { } } } } return printedSomething; } public boolean dump(PrintWriter out, String title, String prefix, String packageName, boolean printFilter) { boolean printFilter, boolean collapseDuplicates) { String innerPrefix = prefix + " "; String sepPrefix = "\n" + prefix; String curPrefix = title + "\n" + prefix; if (dumpMap(out, curPrefix, "Full MIME Types:", innerPrefix, mTypeToFilter, packageName, printFilter)) { mTypeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Base MIME Types:", innerPrefix, mBaseTypeToFilter, packageName, printFilter)) { mBaseTypeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Wild MIME Types:", innerPrefix, mWildTypeToFilter, packageName, printFilter)) { mWildTypeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Schemes:", innerPrefix, mSchemeToFilter, packageName, printFilter)) { mSchemeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Non-Data Actions:", innerPrefix, mActionToFilter, packageName, printFilter)) { mActionToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "MIME Typed Actions:", innerPrefix, mTypedActionToFilter, packageName, printFilter)) { mTypedActionToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } return curPrefix == sepPrefix; Loading Loading @@ -479,6 +508,14 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { out.print(prefix); out.println(filter); } protected Object filterToLabel(F filter) { return "IntentFilter"; } protected void dumpFilterLabel(PrintWriter out, String prefix, Object label, int count) { out.print(prefix); out.print(label); out.print(": "); out.println(count); } private final void addFilter(ArrayMap<String, F[]> map, String name, F filter) { F[] array = map.get(name); if (array == null) { Loading services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -13232,7 +13232,7 @@ public final class ActivityManagerService extends ActivityManagerNative if (mReceiverResolver.dump(pw, needSep ? "\n Receiver Resolver Table:" : " Receiver Resolver Table:", " ", dumpPackage, false)) { " ", dumpPackage, false, false)) { needSep = true; printedAnything = true; } services/core/java/com/android/server/am/ProcessStatsService.java +37 −16 Original line number Diff line number Diff line Loading @@ -582,9 +582,10 @@ public final class ProcessStatsService extends IProcessStats.Stub { pw.println("Process stats (procstats) dump options:"); pw.println(" [--checkin|-c|--csv] [--csv-screen] [--csv-proc] [--csv-mem]"); pw.println(" [--details] [--full-details] [--current] [--hours N] [--last N]"); pw.println(" [--active] [--commit] [--reset] [--clear] [--write] [-h] [<package.name>]"); pw.println(" [--max N] --active] [--commit] [--reset] [--clear] [--write] [-h]"); pw.println(" [<package.name>]"); pw.println(" --checkin: perform a checkin: print and delete old committed states."); pw.println(" --c: print only state in checkin format."); pw.println(" -c: print only state in checkin format."); pw.println(" --csv: output data suitable for putting in a spreadsheet."); pw.println(" --csv-screen: on, off."); pw.println(" --csv-mem: norm, mod, low, crit."); Loading @@ -595,6 +596,7 @@ public final class ProcessStatsService extends IProcessStats.Stub { pw.println(" --current: only dump current state."); pw.println(" --hours: aggregate over about N last hours."); pw.println(" --last: only show the last committed stats at index N (starting at 1)."); pw.println(" --max: for -a, max num of historical batches to print."); pw.println(" --active: only show currently active processes/services."); pw.println(" --commit: commit current stats to disk and reset to start new stats."); pw.println(" --reset: reset current stats, without committing."); Loading Loading @@ -636,6 +638,7 @@ public final class ProcessStatsService extends IProcessStats.Stub { boolean dumpAll = false; int aggregateHours = 0; int lastIndex = 0; int maxNum = 2; boolean activeOnly = false; String reqPackage = null; boolean csvSepScreenStats = false; Loading Loading @@ -734,6 +737,20 @@ public final class ProcessStatsService extends IProcessStats.Stub { dumpHelp(pw); return; } } else if ("--max".equals(arg)) { i++; if (i >= args.length) { pw.println("Error: argument required for --max"); dumpHelp(pw); return; } try { maxNum = Integer.parseInt(args[i]); } catch (NumberFormatException e) { pw.println("Error: --max argument not an int -- " + args[i]); dumpHelp(pw); return; } } else if ("--active".equals(arg)) { activeOnly = true; currentOnly = true; Loading Loading @@ -892,7 +909,11 @@ public final class ProcessStatsService extends IProcessStats.Stub { try { ArrayList<String> files = getCommittedFiles(0, false, !isCheckin); if (files != null) { for (int i=0; i<files.size(); i++) { int start = isCheckin ? 0 : (files.size() - maxNum); if (start < 0) { start = 0; } for (int i=start; i<files.size(); i++) { if (DEBUG) Slog.d(TAG, "Retrieving state: " + files.get(i)); try { AtomicFile file = new AtomicFile(new File(files.get(i))); Loading Loading @@ -947,19 +968,6 @@ public final class ProcessStatsService extends IProcessStats.Stub { } } if (!isCheckin) { if (!currentOnly) { if (sepNeeded) { pw.println(); } pw.println("AGGREGATED OVER LAST 24 HOURS:"); dumpAggregatedStats(pw, 24, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); pw.println(); pw.println("AGGREGATED OVER LAST 3 HOURS:"); dumpAggregatedStats(pw, 3, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); sepNeeded = true; } synchronized (mAm) { if (isCompact) { mProcessStats.dumpCheckinLocked(pw, reqPackage); Loading @@ -977,7 +985,20 @@ public final class ProcessStatsService extends IProcessStats.Stub { } else { mProcessStats.dumpSummaryLocked(pw, reqPackage, now, activeOnly); } sepNeeded = true; } } if (!currentOnly) { if (sepNeeded) { pw.println(); } pw.println("AGGREGATED OVER LAST 24 HOURS:"); dumpAggregatedStats(pw, 24, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); pw.println(); pw.println("AGGREGATED OVER LAST 3 HOURS:"); dumpAggregatedStats(pw, 3, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); } } } Loading Loading
core/java/android/service/wallpaper/WallpaperService.java +1 −1 Original line number Diff line number Diff line Loading @@ -538,7 +538,7 @@ public abstract class WallpaperService extends Service { out.print(prefix); out.print("mType="); out.print(mType); out.print(" mWindowFlags="); out.print(mWindowFlags); out.print(" mCurWindowFlags="); out.println(mCurWindowFlags); out.print(" mWindowPrivateFlags="); out.print(mWindowPrivateFlags); out.print(prefix); out.print("mWindowPrivateFlags="); out.print(mWindowPrivateFlags); out.print(" mCurWindowPrivateFlags="); out.println(mCurWindowPrivateFlags); out.print(prefix); out.print("mVisibleInsets="); out.print(mVisibleInsets.toShortString()); Loading
core/java/com/android/internal/app/ProcessStats.java +4 −2 Original line number Diff line number Diff line Loading @@ -1079,7 +1079,9 @@ public final class ProcessStats implements Parcelable { ProcessDataCollection totals = new ProcessDataCollection(screenStates, memStates, procStates); computeProcessData(proc, totals, now); if (totals.totalTime != 0 || totals.numPss != 0) { double percentage = (double) totals.totalTime / (double) totalTime * 100; // We don't print percentages < .01, so just drop those. if (percentage >= 0.005 || totals.numPss != 0) { if (prefix != null) { pw.print(prefix); } Loading
services/core/java/com/android/server/IntentResolver.java +67 −30 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import android.net.Uri; Loading @@ -31,6 +30,7 @@ import android.util.FastImmutableArraySet; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import android.util.MutableInt; import android.util.PrintWriterPrinter; import android.util.Slog; import android.util.LogPrinter; Loading Loading @@ -213,17 +213,45 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { } boolean dumpMap(PrintWriter out, String titlePrefix, String title, String prefix, Map<String, F[]> map, String packageName, boolean printFilter) { String eprefix = prefix + " "; String fprefix = prefix + " "; String prefix, ArrayMap<String, F[]> map, String packageName, boolean printFilter, boolean collapseDuplicates) { final String eprefix = prefix + " "; final String fprefix = prefix + " "; final ArrayMap<Object, MutableInt> found = new ArrayMap<>(); boolean printedSomething = false; Printer printer = null; for (Map.Entry<String, F[]> e : map.entrySet()) { F[] a = e.getValue(); for (int mapi=0; mapi<map.size(); mapi++) { F[] a = map.valueAt(mapi); final int N = a.length; boolean printedHeader = false; F filter; if (collapseDuplicates) { found.clear(); for (int i=0; i<N && (filter=a[i]) != null; i++) { if (packageName != null && !isPackageForFilter(packageName, filter)) { continue; } Object label = filterToLabel(filter); int index = found.indexOfKey(label); if (index < 0) { found.put(label, new MutableInt(1)); } else { found.valueAt(index).value++; } } for (int i=0; i<found.size(); i++) { if (title != null) { out.print(titlePrefix); out.println(title); title = null; } if (!printedHeader) { out.print(eprefix); out.print(map.keyAt(mapi)); out.println(":"); printedHeader = true; } printedSomething = true; dumpFilterLabel(out, fprefix, found.keyAt(i), found.valueAt(i).value); } } else { for (int i=0; i<N && (filter=a[i]) != null; i++) { if (packageName != null && !isPackageForFilter(packageName, filter)) { continue; Loading @@ -233,7 +261,7 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { title = null; } if (!printedHeader) { out.print(eprefix); out.print(e.getKey()); out.println(":"); out.print(eprefix); out.print(map.keyAt(mapi)); out.println(":"); printedHeader = true; } printedSomething = true; Loading @@ -246,36 +274,37 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { } } } } return printedSomething; } public boolean dump(PrintWriter out, String title, String prefix, String packageName, boolean printFilter) { boolean printFilter, boolean collapseDuplicates) { String innerPrefix = prefix + " "; String sepPrefix = "\n" + prefix; String curPrefix = title + "\n" + prefix; if (dumpMap(out, curPrefix, "Full MIME Types:", innerPrefix, mTypeToFilter, packageName, printFilter)) { mTypeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Base MIME Types:", innerPrefix, mBaseTypeToFilter, packageName, printFilter)) { mBaseTypeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Wild MIME Types:", innerPrefix, mWildTypeToFilter, packageName, printFilter)) { mWildTypeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Schemes:", innerPrefix, mSchemeToFilter, packageName, printFilter)) { mSchemeToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "Non-Data Actions:", innerPrefix, mActionToFilter, packageName, printFilter)) { mActionToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } if (dumpMap(out, curPrefix, "MIME Typed Actions:", innerPrefix, mTypedActionToFilter, packageName, printFilter)) { mTypedActionToFilter, packageName, printFilter, collapseDuplicates)) { curPrefix = sepPrefix; } return curPrefix == sepPrefix; Loading Loading @@ -479,6 +508,14 @@ public abstract class IntentResolver<F extends IntentFilter, R extends Object> { out.print(prefix); out.println(filter); } protected Object filterToLabel(F filter) { return "IntentFilter"; } protected void dumpFilterLabel(PrintWriter out, String prefix, Object label, int count) { out.print(prefix); out.print(label); out.print(": "); out.println(count); } private final void addFilter(ArrayMap<String, F[]> map, String name, F filter) { F[] array = map.get(name); if (array == null) { Loading
services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -13232,7 +13232,7 @@ public final class ActivityManagerService extends ActivityManagerNative if (mReceiverResolver.dump(pw, needSep ? "\n Receiver Resolver Table:" : " Receiver Resolver Table:", " ", dumpPackage, false)) { " ", dumpPackage, false, false)) { needSep = true; printedAnything = true; }
services/core/java/com/android/server/am/ProcessStatsService.java +37 −16 Original line number Diff line number Diff line Loading @@ -582,9 +582,10 @@ public final class ProcessStatsService extends IProcessStats.Stub { pw.println("Process stats (procstats) dump options:"); pw.println(" [--checkin|-c|--csv] [--csv-screen] [--csv-proc] [--csv-mem]"); pw.println(" [--details] [--full-details] [--current] [--hours N] [--last N]"); pw.println(" [--active] [--commit] [--reset] [--clear] [--write] [-h] [<package.name>]"); pw.println(" [--max N] --active] [--commit] [--reset] [--clear] [--write] [-h]"); pw.println(" [<package.name>]"); pw.println(" --checkin: perform a checkin: print and delete old committed states."); pw.println(" --c: print only state in checkin format."); pw.println(" -c: print only state in checkin format."); pw.println(" --csv: output data suitable for putting in a spreadsheet."); pw.println(" --csv-screen: on, off."); pw.println(" --csv-mem: norm, mod, low, crit."); Loading @@ -595,6 +596,7 @@ public final class ProcessStatsService extends IProcessStats.Stub { pw.println(" --current: only dump current state."); pw.println(" --hours: aggregate over about N last hours."); pw.println(" --last: only show the last committed stats at index N (starting at 1)."); pw.println(" --max: for -a, max num of historical batches to print."); pw.println(" --active: only show currently active processes/services."); pw.println(" --commit: commit current stats to disk and reset to start new stats."); pw.println(" --reset: reset current stats, without committing."); Loading Loading @@ -636,6 +638,7 @@ public final class ProcessStatsService extends IProcessStats.Stub { boolean dumpAll = false; int aggregateHours = 0; int lastIndex = 0; int maxNum = 2; boolean activeOnly = false; String reqPackage = null; boolean csvSepScreenStats = false; Loading Loading @@ -734,6 +737,20 @@ public final class ProcessStatsService extends IProcessStats.Stub { dumpHelp(pw); return; } } else if ("--max".equals(arg)) { i++; if (i >= args.length) { pw.println("Error: argument required for --max"); dumpHelp(pw); return; } try { maxNum = Integer.parseInt(args[i]); } catch (NumberFormatException e) { pw.println("Error: --max argument not an int -- " + args[i]); dumpHelp(pw); return; } } else if ("--active".equals(arg)) { activeOnly = true; currentOnly = true; Loading Loading @@ -892,7 +909,11 @@ public final class ProcessStatsService extends IProcessStats.Stub { try { ArrayList<String> files = getCommittedFiles(0, false, !isCheckin); if (files != null) { for (int i=0; i<files.size(); i++) { int start = isCheckin ? 0 : (files.size() - maxNum); if (start < 0) { start = 0; } for (int i=start; i<files.size(); i++) { if (DEBUG) Slog.d(TAG, "Retrieving state: " + files.get(i)); try { AtomicFile file = new AtomicFile(new File(files.get(i))); Loading Loading @@ -947,19 +968,6 @@ public final class ProcessStatsService extends IProcessStats.Stub { } } if (!isCheckin) { if (!currentOnly) { if (sepNeeded) { pw.println(); } pw.println("AGGREGATED OVER LAST 24 HOURS:"); dumpAggregatedStats(pw, 24, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); pw.println(); pw.println("AGGREGATED OVER LAST 3 HOURS:"); dumpAggregatedStats(pw, 3, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); sepNeeded = true; } synchronized (mAm) { if (isCompact) { mProcessStats.dumpCheckinLocked(pw, reqPackage); Loading @@ -977,7 +985,20 @@ public final class ProcessStatsService extends IProcessStats.Stub { } else { mProcessStats.dumpSummaryLocked(pw, reqPackage, now, activeOnly); } sepNeeded = true; } } if (!currentOnly) { if (sepNeeded) { pw.println(); } pw.println("AGGREGATED OVER LAST 24 HOURS:"); dumpAggregatedStats(pw, 24, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); pw.println(); pw.println("AGGREGATED OVER LAST 3 HOURS:"); dumpAggregatedStats(pw, 3, now, reqPackage, isCompact, dumpDetails, dumpFullDetails, dumpAll, activeOnly); } } } Loading