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

Commit 04319f01 authored by Songchun Fan's avatar Songchun Fan
Browse files

[pm] revert lock changes for AppsFilter

ag/16176950 introduced a lock contention in AppsFilter between
"StateProvider.mLock" and "PackageManagerService.mSnapshotLock".
Reverting that part of the code.

BUG: 207105991
Test: manual
Change-Id: Id8cb79e2700af473dbc5dc675f630cfd311b2167
parent eaac1801
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -500,17 +500,11 @@ public class AppsFilter implements Watchable, Snappable {
                forcedQueryablePackageNames[i] = forcedQueryablePackageNames[i].intern();
            }
        }
        final StateProvider stateProvider = new StateProvider() {
            // TODO: This lock and its handling should be owned by AppsFilter
            private final Object mLock = new Object();

            @Override
            public void runWithState(CurrentStateCallback command) {
                synchronized (mLock) {
                    command.currentState(pms.getPackageStates(),
        final StateProvider stateProvider = command -> {
            synchronized (injector.getLock()) {
                command.currentState(injector.getSettings().getPackagesLocked().untrackedStorage(),
                        injector.getUserManagerInternal().getUserInfos());
            }
            }
        };
        AppsFilter appsFilter = new AppsFilter(stateProvider, featureConfig,
                forcedQueryablePackageNames, forceSystemAppsQueryable, null,