summaryrefslogtreecommitdiffstats
path: root/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java')
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java b/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java
index 778fb4d..615d667 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java
@@ -441,6 +441,7 @@ public final class PrintSpoolerService extends Service {
private void removeObsoletePrintJobs() {
synchronized (mLock) {
+ boolean persistState = false;
final int printJobCount = mPrintJobs.size();
for (int i = printJobCount - 1; i >= 0; i--) {
PrintJobInfo printJob = mPrintJobs.get(i);
@@ -450,9 +451,12 @@ public final class PrintSpoolerService extends Service {
Slog.i(LOG_TAG, "[REMOVE] " + printJob.getId().flattenToString());
}
removePrintJobFileLocked(printJob.getId());
+ persistState = true;
}
}
- mPersistanceManager.writeStateLocked();
+ if (persistState) {
+ mPersistanceManager.writeStateLocked();
+ }
}
}
@@ -799,6 +803,10 @@ public final class PrintSpoolerService extends Service {
for (int j = 0; j < printJobCount; j++) {
PrintJobInfo printJob = printJobs.get(j);
+ if (!shouldPersistPrintJob(printJob)) {
+ continue;
+ }
+
serializer.startTag(null, TAG_JOB);
serializer.attribute(null, ATTR_ID, printJob.getId().flattenToString());