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 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 |