Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c43bbe80 authored by JW Wang's avatar JW Wang Committed by Android (Google) Code Review
Browse files

Merge changes I17d87bae,Ie975e591,I6880b9b9,Ic752c7f3 into sc-dev

* changes:
  Add a TEST_MAPPING (9/n)
  Fix insufficient synchronization (8/n)
  Fix a race in the callback (7/n)
  setExplicitHealthCheckEnabled() needs to set mSyncRequired (6/n)
parents 515af788 07afc8b6
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -259,10 +259,7 @@ public class PackageWatchdog {
            mIsPackagesReady = true;
            mHealthCheckController.setCallbacks(packageName -> onHealthCheckPassed(packageName),
                    packages -> onSupportedPackages(packages),
                    () -> {
                            syncRequestsAsync();
                            mSyncRequired = true;
                    });
                    this::onSyncRequestNotified);
            setPropertyChangedListenerLocked();
            updateConfigs();
            registerConnectivityModuleHealthListener();
@@ -537,6 +534,7 @@ public class PackageWatchdog {
        synchronized (mLock) {
            mIsHealthCheckEnabled = enabled;
            mHealthCheckController.setEnabled(enabled);
            mSyncRequired = true;
            // Prune to update internal state whenever health check is enabled/disabled
            syncState("health check state " + (enabled ? "enabled" : "disabled"));
        }
@@ -788,6 +786,13 @@ public class PackageWatchdog {
        }
    }

    private void onSyncRequestNotified() {
        synchronized (mLock) {
            mSyncRequired = true;
            syncRequestsAsync();
        }
    }

    @GuardedBy("mLock")
    private Set<String> getPackagesPendingHealthChecksLocked() {
        Set<String> packages = new ArraySet<>();
+7 −0
Original line number Diff line number Diff line
{
  "presubmit": [
    {
      "name": "PackageWatchdogTest"
    }
  ]
}