summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Benjamin Gordon <bmgordon@google.com> 2024-12-20 17:16:31 -0700
committer Benjamin Gordon <bmgordon@google.com> 2025-01-08 15:00:02 -0700
commit1aed69d4a73d51082266b5d60c3b5af090e084eb (patch)
tree44a3351d7326776b987cadafc51affaec30e2a2c
parenta270408acd19a692f2e228a033d1fd8abb69d19e (diff)
Add print job logging
To assist with debugging from bug reports, log when print jobs are created, removed, or updated. Bug: 385340868 Test: manual printing Flag: com.android.printspooler.flags.log_print_jobs Change-Id: Id15a8d126b4a34f7b27fcd36d398a1c83ec85b20
-rw-r--r--packages/PrintSpooler/Android.bp15
-rw-r--r--packages/PrintSpooler/flags/flags.aconfig9
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java7
3 files changed, 28 insertions, 3 deletions
diff --git a/packages/PrintSpooler/Android.bp b/packages/PrintSpooler/Android.bp
index 6af3c6624f62..000e20fb4280 100644
--- a/packages/PrintSpooler/Android.bp
+++ b/packages/PrintSpooler/Android.bp
@@ -59,6 +59,21 @@ android_library {
"android-support-core-ui",
"android-support-fragment",
"android-support-annotations",
+ "printspooler_aconfig_flags_java_lib",
],
manifest: "AndroidManifest.xml",
}
+
+aconfig_declarations {
+ name: "printspooler_aconfig_declarations",
+ package: "com.android.printspooler.flags",
+ container: "system",
+ srcs: [
+ "flags/flags.aconfig",
+ ],
+}
+
+java_aconfig_library {
+ name: "printspooler_aconfig_flags_java_lib",
+ aconfig_declarations: "printspooler_aconfig_declarations",
+}
diff --git a/packages/PrintSpooler/flags/flags.aconfig b/packages/PrintSpooler/flags/flags.aconfig
new file mode 100644
index 000000000000..4a76dff405d0
--- /dev/null
+++ b/packages/PrintSpooler/flags/flags.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.printspooler.flags"
+container: "system"
+
+flag {
+ name: "log_print_jobs"
+ namespace: "printing"
+ description: "Log print job creation and state transitions."
+ bug: "385340868"
+}
diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java b/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java
index bba57d5fe0a2..1a9309c13bd7 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java
@@ -68,6 +68,7 @@ import com.android.internal.util.Preconditions;
import com.android.internal.util.dump.DualDumpOutputStream;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.printspooler.R;
+import com.android.printspooler.flags.Flags;
import com.android.printspooler.util.ApprovedPrintServices;
import libcore.io.IoUtils;
@@ -493,7 +494,7 @@ public final class PrintSpoolerService extends Service {
keepAwakeLocked();
}
- if (DEBUG_PRINT_JOB_LIFECYCLE) {
+ if (Flags.logPrintJobs() || DEBUG_PRINT_JOB_LIFECYCLE) {
Slog.i(LOG_TAG, "[ADD] " + printJob);
}
}
@@ -506,7 +507,7 @@ public final class PrintSpoolerService extends Service {
PrintJobInfo printJob = mPrintJobs.get(i);
if (isObsoleteState(printJob.getState())) {
mPrintJobs.remove(i);
- if (DEBUG_PRINT_JOB_LIFECYCLE) {
+ if (Flags.logPrintJobs() || DEBUG_PRINT_JOB_LIFECYCLE) {
Slog.i(LOG_TAG, "[REMOVE] " + printJob.getId().flattenToString());
}
removePrintJobFileLocked(printJob.getId());
@@ -568,7 +569,7 @@ public final class PrintSpoolerService extends Service {
checkIfStillKeepAwakeLocked();
}
- if (DEBUG_PRINT_JOB_LIFECYCLE) {
+ if (Flags.logPrintJobs() || DEBUG_PRINT_JOB_LIFECYCLE) {
Slog.i(LOG_TAG, "[STATE CHANGED] " + printJob);
}