summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 33d1fed4ef56..6a6b542f9bb6 100644
--- a/services/print/java/com/android/server/print/PrintManagerService.java
+++ b/services/print/java/com/android/server/print/PrintManagerService.java
@@ -782,14 +782,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
@@ -798,13 +802,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