diff --git a/services/core/java/com/android/server/PackageWatchdog.java b/services/core/java/com/android/server/PackageWatchdog.java index 16bc794dd36ad..41903fcd165f2 100644 --- a/services/core/java/com/android/server/PackageWatchdog.java +++ b/services/core/java/com/android/server/PackageWatchdog.java @@ -372,10 +372,12 @@ public class PackageWatchdog { * even from a previous boot. */ public void unregisterHealthObserver(PackageHealthObserver observer) { - synchronized (mLock) { - mAllObservers.remove(observer.getName()); - } - syncState("unregistering observer: " + observer.getName()); + mLongTaskHandler.post(() -> { + synchronized (mLock) { + mAllObservers.remove(observer.getName()); + } + syncState("unregistering observer: " + observer.getName()); + }); } /**