summaryrefslogtreecommitdiff
path: root/services/print
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2017-07-31 11:10:50 +0100
committerNarayan Kamath <narayan@google.com>2017-08-01 10:09:33 +0000
commit973d8af11b11da273d54f289217c04ce39bf9200 (patch)
treee184a9a5ffc9a3ba67fe83610b8d114fd56060d2 /services/print
parent7ef9f224e4e7c1bdca5f7b69541789dcd1d521d8 (diff)
PrintManagerService: Don't prune services on all package change events.
We should only need to prune services if the package that changed had a print service or has been changed to have a print service. Bug: 63019430 Test: Manual; observed that the print spooler isn't started up. Test: run cts -m CtsPrintTestCases Change-Id: I32df27e4b1d11615cf6053dd3d35c2b60068d0d3
Diffstat (limited to 'services/print')
-rw-r--r--services/print/java/com/android/server/print/PrintManagerService.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/services/print/java/com/android/server/print/PrintManagerService.java b/services/print/java/com/android/server/print/PrintManagerService.java
index 6c417a9baf93..5121c29d688d 100644
--- a/services/print/java/com/android/server/print/PrintManagerService.java
+++ b/services/print/java/com/android/server/print/PrintManagerService.java
@@ -736,14 +736,18 @@ public final class PrintManagerService extends SystemService {
UserState userState = getOrCreateUserStateLocked(getChangingUserId(), false,
false /* enforceUserUnlockingOrUnlocked */);
+ boolean prunePrintServices = false;
synchronized (mLock) {
if (hadPrintService(userState, packageName)
|| hasPrintService(packageName)) {
userState.updateIfNeededLocked();
+ prunePrintServices = true;
}
}
- userState.prunePrintServices();
+ if (prunePrintServices) {
+ userState.prunePrintServices();
+ }
}
@Override
@@ -752,13 +756,17 @@ public final class PrintManagerService extends SystemService {
UserState userState = getOrCreateUserStateLocked(getChangingUserId(), false,
false /* enforceUserUnlockingOrUnlocked */);
+ boolean prunePrintServices = false;
synchronized (mLock) {
if (hadPrintService(userState, packageName)) {
userState.updateIfNeededLocked();
+ prunePrintServices = true;
}
}
- userState.prunePrintServices();
+ if (prunePrintServices) {
+ userState.prunePrintServices();
+ }
}
@Override