Merge "Unbind explicit health check controller when possible" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d43ac6b413
@@ -239,7 +239,10 @@ public class PackageWatchdog {
|
||||
mIsPackagesReady = true;
|
||||
mHealthCheckController.setCallbacks(packageName -> onHealthCheckPassed(packageName),
|
||||
packages -> onSupportedPackages(packages),
|
||||
() -> syncRequestsAsync());
|
||||
() -> {
|
||||
syncRequestsAsync();
|
||||
mSyncRequired = true;
|
||||
});
|
||||
setPropertyChangedListenerLocked();
|
||||
updateConfigs();
|
||||
registerConnectivityModuleHealthListener();
|
||||
@@ -255,7 +258,6 @@ public class PackageWatchdog {
|
||||
*/
|
||||
public void registerHealthObserver(PackageHealthObserver observer) {
|
||||
synchronized (mLock) {
|
||||
mSyncRequired = true;
|
||||
ObserverInternal internalObserver = mAllObservers.get(observer.getName());
|
||||
if (internalObserver != null) {
|
||||
internalObserver.registeredObserver = observer;
|
||||
@@ -642,7 +644,8 @@ public class PackageWatchdog {
|
||||
synchronized (mLock) {
|
||||
if (mIsPackagesReady) {
|
||||
Set<String> packages = getPackagesPendingHealthChecksLocked();
|
||||
if (!packages.equals(mRequestedHealthCheckPackages) || mSyncRequired) {
|
||||
if (mSyncRequired || !packages.equals(mRequestedHealthCheckPackages)
|
||||
|| packages.isEmpty()) {
|
||||
syncRequired = true;
|
||||
mRequestedHealthCheckPackages = packages;
|
||||
}
|
||||
|
||||
@@ -1113,6 +1113,7 @@ 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),
|
||||
|
||||
Reference in New Issue
Block a user