summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2013-11-14 17:59:14 -0800
committerSvetoslav <svetoslavganov@google.com>2013-11-14 18:02:31 -0800
commit885810de69d75979df4299d21fa236490767eae4 (patch)
tree2e50214fe4201ac9921eab65e57b8a01b1e00701
parent39af5a78c073d01539625a9fbbb8511747e2f048 (diff)
downloadbase-885810de69d75979df4299d21fa236490767eae4.tar.gz
Created print jobs should not be persisted until they are queued.
Print jobs in a created state should not be persisted. However, if a print service sets the tag to a print job that is queued, we were persisting even print jobs in a created state. This change adds a simple check while persisting to avoid storing created print jobs. bug:11696785 Change-Id: Idf28f3634b91fd5bf345f376114af4ed478ed3c6
-rw-r--r--packages/PrintSpooler/res/layout/print_job_config_activity_content_error.xml1
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java10
2 files changed, 9 insertions, 2 deletions
diff --git a/packages/PrintSpooler/res/layout/print_job_config_activity_content_error.xml b/packages/PrintSpooler/res/layout/print_job_config_activity_content_error.xml
index f573d9dc3bbb..d9f0a9a13c3a 100644
--- a/packages/PrintSpooler/res/layout/print_job_config_activity_content_error.xml
+++ b/packages/PrintSpooler/res/layout/print_job_config_activity_content_error.xml
@@ -35,7 +35,6 @@
android:layout_marginBottom="32dip"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
- android:singleLine="true"
android:ellipsize="end"
android:text="@string/print_error_default_message"
android:textColor="@color/important_text"
diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java b/packages/PrintSpooler/src/com/android/printspooler/PrintSpoolerService.java
index 778fb4db3344..615d667cf17d 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());