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

Commit dc10cf0b authored by JW Wang's avatar JW Wang
Browse files

Fix insufficient synchronization (8/n)

mSyncRequired must be accessed within the lock.

Bug: 178675924
Test: atest PackageWatchdogTest
Change-Id: Ie975e5910de53af670862de48ccf0cd4eeff0184
parent 07c28cce
Loading
Loading
Loading
Loading
+8 −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),
                    () -> {
                            mSyncRequired = true;
                            syncRequestsAsync();
                    });
                    this::onSyncRequestNotified);
            setPropertyChangedListenerLocked();
            updateConfigs();
            registerConnectivityModuleHealthListener();
@@ -789,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<>();