Merge "Call startObservingHealth on handler thread" into rvc-dev am: 503612127a am: 055dc4206b

Change-Id: I1914d5dc3f83bb77676d2d33319b09ee86851c7a
This commit is contained in:
Gavin Corkery
2020-04-07 09:56:56 +00:00
committed by Automerger Merge Worker

View File

@@ -315,28 +315,31 @@ public class PackageWatchdog {
// causing any elapsed time to be deducted from all existing packages before we add new // causing any elapsed time to be deducted from all existing packages before we add new
// packages. This maintains the invariant that the elapsed time for ALL (new and existing) // packages. This maintains the invariant that the elapsed time for ALL (new and existing)
// packages is the same. // packages is the same.
syncState("observing new packages"); mLongTaskHandler.post(() -> {
syncState("observing new packages");
synchronized (mLock) { synchronized (mLock) {
ObserverInternal oldObserver = mAllObservers.get(observer.getName()); ObserverInternal oldObserver = mAllObservers.get(observer.getName());
if (oldObserver == null) { if (oldObserver == null) {
Slog.d(TAG, observer.getName() + " started monitoring health " Slog.d(TAG, observer.getName() + " started monitoring health "
+ "of packages " + packageNames); + "of packages " + packageNames);
mAllObservers.put(observer.getName(), mAllObservers.put(observer.getName(),
new ObserverInternal(observer.getName(), packages)); new ObserverInternal(observer.getName(), packages));
} else { } else {
Slog.d(TAG, observer.getName() + " added the following " Slog.d(TAG, observer.getName() + " added the following "
+ "packages to monitor " + packageNames); + "packages to monitor " + packageNames);
oldObserver.updatePackagesLocked(packages); oldObserver.updatePackagesLocked(packages);
}
} }
}
// Register observer in case not already registered // Register observer in case not already registered
registerHealthObserver(observer); registerHealthObserver(observer);
// Sync after we add the new packages to the observers. We may have received packges
// requiring an earlier schedule than we are currently scheduled for.
syncState("updated observers");
});
// Sync after we add the new packages to the observers. We may have received packges
// requiring an earlier schedule than we are currently scheduled for.
syncState("updated observers");
} }
/** /**