diff options
-rw-r--r-- | services/print/java/com/android/server/print/PrintManagerService.java | 12 |
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 |