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
diff --git a/packages/PrintSpooler/Android.bp b/packages/PrintSpooler/Android.bp
index 6af3c66..000e20f 100644
--- a/packages/PrintSpooler/Android.bp
+++ b/packages/PrintSpooler/Android.bp
@@ -59,6 +59,21 @@
"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 0000000..4a76dff
--- /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 bba57d5..1a9309c 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.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 @@
keepAwakeLocked();
}
- if (DEBUG_PRINT_JOB_LIFECYCLE) {
+ if (Flags.logPrintJobs() || DEBUG_PRINT_JOB_LIFECYCLE) {
Slog.i(LOG_TAG, "[ADD] " + printJob);
}
}
@@ -506,7 +507,7 @@
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 @@
checkIfStillKeepAwakeLocked();
}
- if (DEBUG_PRINT_JOB_LIFECYCLE) {
+ if (Flags.logPrintJobs() || DEBUG_PRINT_JOB_LIFECYCLE) {
Slog.i(LOG_TAG, "[STATE CHANGED] " + printJob);
}