Merge "Revert "Ensure that health check controller is unbound correctly"" into rvc-dev am: 4f5af837be

Change-Id: I68d9c49d8abb827b83216c6b783d307e382b6096
This commit is contained in:
Gavin Corkery
2020-05-29 12:14:34 +00:00
committed by Automerger Merge Worker
2 changed files with 6 additions and 2 deletions

View File

@@ -177,6 +177,9 @@ public class PackageWatchdog {
// 0 if no prune is scheduled.
@GuardedBy("mLock")
private long mUptimeAtLastStateSync;
// If true, sync explicit health check packages with the ExplicitHealthCheckController.
@GuardedBy("mLock")
private boolean mSyncRequired = false;
@FunctionalInterface
@VisibleForTesting
@@ -252,6 +255,7 @@ public class PackageWatchdog {
*/
public void registerHealthObserver(PackageHealthObserver observer) {
synchronized (mLock) {
mSyncRequired = true;
ObserverInternal internalObserver = mAllObservers.get(observer.getName());
if (internalObserver != null) {
internalObserver.registeredObserver = observer;
@@ -638,7 +642,7 @@ public class PackageWatchdog {
synchronized (mLock) {
if (mIsPackagesReady) {
Set<String> packages = getPackagesPendingHealthChecksLocked();
if (!packages.equals(mRequestedHealthCheckPackages) || packages.isEmpty()) {
if (!packages.equals(mRequestedHealthCheckPackages) || mSyncRequired) {
syncRequired = true;
mRequestedHealthCheckPackages = packages;
}
@@ -650,6 +654,7 @@ public class PackageWatchdog {
Slog.i(TAG, "Syncing health check requests for packages: "
+ mRequestedHealthCheckPackages);
mHealthCheckController.syncRequests(mRequestedHealthCheckPackages);
mSyncRequired = false;
}
}

View File

@@ -1113,7 +1113,6 @@ public class PackageWatchdogTest {
mTestLooper.dispatchAll();
List<Set> expectedSyncRequests = List.of(
Set.of(),
Set.of(APP_A),
Set.of(APP_A, APP_B),
Set.of(APP_A, APP_B, APP_C),