Merge "Unbind explicit health check controller when possible" into rvc-dev am: d43ac6b413 am: ca7187adfe

Original change: undetermined

Change-Id: Iba7c4f436203554e1dcee32eb664aff827400910
This commit is contained in:
Gavin Corkery
2020-06-02 14:58:14 +00:00
committed by Automerger Merge Worker
2 changed files with 7 additions and 3 deletions

View File

@@ -239,7 +239,10 @@ public class PackageWatchdog {
mIsPackagesReady = true; mIsPackagesReady = true;
mHealthCheckController.setCallbacks(packageName -> onHealthCheckPassed(packageName), mHealthCheckController.setCallbacks(packageName -> onHealthCheckPassed(packageName),
packages -> onSupportedPackages(packages), packages -> onSupportedPackages(packages),
() -> syncRequestsAsync()); () -> {
syncRequestsAsync();
mSyncRequired = true;
});
setPropertyChangedListenerLocked(); setPropertyChangedListenerLocked();
updateConfigs(); updateConfigs();
registerConnectivityModuleHealthListener(); registerConnectivityModuleHealthListener();
@@ -255,7 +258,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 +644,8 @@ 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 (mSyncRequired || !packages.equals(mRequestedHealthCheckPackages)
|| packages.isEmpty()) {
syncRequired = true; syncRequired = true;
mRequestedHealthCheckPackages = packages; mRequestedHealthCheckPackages = packages;
} }

View File

@@ -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),