diff options
| -rw-r--r-- | apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java | 13 | ||||
| -rw-r--r-- | apex/jobscheduler/service/java/com/android/server/tare/Scribe.java | 4 |
2 files changed, 9 insertions, 8 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java b/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java index 437a10198d8e..20a300abe72a 100644 --- a/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java +++ b/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java @@ -847,15 +847,16 @@ public class InternalResourceService extends SystemService { public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { if (!DumpUtils.checkDumpAndUsageStatsPermission(getContext(), TAG, pw)) return; + boolean dumpAll = true; if (!ArrayUtils.isEmpty(args)) { String arg = args[0]; if ("-h".equals(arg) || "--help".equals(arg)) { dumpHelp(pw); return; } else if ("-a".equals(arg)) { - // -a is passed when dumping a bug report so we have to acknowledge the - // argument. However, we currently don't do anything differently for bug - // reports. + // -a is passed when dumping a bug report. Bug reports have a time limit for + // each service dump, so we can't dump everything. + dumpAll = false; } else if (arg.length() > 0 && arg.charAt(0) == '-') { pw.println("Unknown option: " + arg); return; @@ -864,7 +865,7 @@ public class InternalResourceService extends SystemService { final long identityToken = Binder.clearCallingIdentity(); try { - dumpInternal(new IndentingPrintWriter(pw, " ")); + dumpInternal(new IndentingPrintWriter(pw, " "), dumpAll); } finally { Binder.restoreCallingIdentity(identityToken); } @@ -1098,7 +1099,7 @@ public class InternalResourceService extends SystemService { pw.println(" [package] is an optional package name to limit the output to."); } - private void dumpInternal(final IndentingPrintWriter pw) { + private void dumpInternal(final IndentingPrintWriter pw, final boolean dumpAll) { synchronized (mLock) { pw.print("Is enabled: "); pw.println(mIsEnabled); @@ -1127,7 +1128,7 @@ public class InternalResourceService extends SystemService { mCompleteEconomicPolicy.dump(pw); pw.println(); - mScribe.dumpLocked(pw); + mScribe.dumpLocked(pw, dumpAll); pw.println(); mAgent.dumpLocked(pw); diff --git a/apex/jobscheduler/service/java/com/android/server/tare/Scribe.java b/apex/jobscheduler/service/java/com/android/server/tare/Scribe.java index 42f3d9a1ea7b..86968ef23a49 100644 --- a/apex/jobscheduler/service/java/com/android/server/tare/Scribe.java +++ b/apex/jobscheduler/service/java/com/android/server/tare/Scribe.java @@ -509,7 +509,7 @@ public class Scribe { } @GuardedBy("mIrs.getLock()") - void dumpLocked(IndentingPrintWriter pw) { + void dumpLocked(IndentingPrintWriter pw, boolean dumpAll) { pw.println("Ledgers:"); pw.increaseIndent(); mLedgers.forEach((userId, pkgName, ledger) -> { @@ -519,7 +519,7 @@ public class Scribe { } pw.println(); pw.increaseIndent(); - ledger.dump(pw, MAX_NUM_TRANSACTION_DUMP); + ledger.dump(pw, dumpAll ? Integer.MAX_VALUE : MAX_NUM_TRANSACTION_DUMP); pw.decreaseIndent(); }); pw.decreaseIndent(); |