Merge "Ensure that health check controller is unbound correctly" into rvc-dev am: 6a459b2b35 am: f63ca9df60
Change-Id: I505408621852f2fb962e6fe8d3568bd7205ef8ec
This commit is contained in:
@@ -177,9 +177,6 @@ public class PackageWatchdog {
|
|||||||
// 0 if no prune is scheduled.
|
// 0 if no prune is scheduled.
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private long mUptimeAtLastStateSync;
|
private long mUptimeAtLastStateSync;
|
||||||
// If true, sync explicit health check packages with the ExplicitHealthCheckController.
|
|
||||||
@GuardedBy("mLock")
|
|
||||||
private boolean mSyncRequired = false;
|
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -255,7 +252,6 @@ public class PackageWatchdog {
|
|||||||
*/
|
*/
|
||||||
public void registerHealthObserver(PackageHealthObserver observer) {
|
public void registerHealthObserver(PackageHealthObserver observer) {
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
mSyncRequired = true;
|
|
||||||
ObserverInternal internalObserver = mAllObservers.get(observer.getName());
|
ObserverInternal internalObserver = mAllObservers.get(observer.getName());
|
||||||
if (internalObserver != null) {
|
if (internalObserver != null) {
|
||||||
internalObserver.registeredObserver = observer;
|
internalObserver.registeredObserver = observer;
|
||||||
@@ -642,7 +638,7 @@ public class PackageWatchdog {
|
|||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
if (mIsPackagesReady) {
|
if (mIsPackagesReady) {
|
||||||
Set<String> packages = getPackagesPendingHealthChecksLocked();
|
Set<String> packages = getPackagesPendingHealthChecksLocked();
|
||||||
if (!packages.equals(mRequestedHealthCheckPackages) || mSyncRequired) {
|
if (!packages.equals(mRequestedHealthCheckPackages) || packages.isEmpty()) {
|
||||||
syncRequired = true;
|
syncRequired = true;
|
||||||
mRequestedHealthCheckPackages = packages;
|
mRequestedHealthCheckPackages = packages;
|
||||||
}
|
}
|
||||||
@@ -654,7 +650,6 @@ public class PackageWatchdog {
|
|||||||
Slog.i(TAG, "Syncing health check requests for packages: "
|
Slog.i(TAG, "Syncing health check requests for packages: "
|
||||||
+ mRequestedHealthCheckPackages);
|
+ mRequestedHealthCheckPackages);
|
||||||
mHealthCheckController.syncRequests(mRequestedHealthCheckPackages);
|
mHealthCheckController.syncRequests(mRequestedHealthCheckPackages);
|
||||||
mSyncRequired = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1113,6 +1113,7 @@ public class PackageWatchdogTest {
|
|||||||
mTestLooper.dispatchAll();
|
mTestLooper.dispatchAll();
|
||||||
|
|
||||||
List<Set> expectedSyncRequests = List.of(
|
List<Set> expectedSyncRequests = List.of(
|
||||||
|
Set.of(),
|
||||||
Set.of(APP_A),
|
Set.of(APP_A),
|
||||||
Set.of(APP_A, APP_B),
|
Set.of(APP_A, APP_B),
|
||||||
Set.of(APP_A, APP_B, APP_C),
|
Set.of(APP_A, APP_B, APP_C),
|
||||||
|
|||||||
Reference in New Issue
Block a user