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

Commit 37b480c7 authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "Fix inverse lock order in AppsFilter"

parents af2353eb 77ea683c
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -300,6 +300,8 @@ public class AppsFilter implements Watchable, Snappable {
    /**
     * Provides system state to AppsFilter via {@link CurrentStateCallback} after properly guarding
     * the data with the package lock.
     *
     * Don't call {@link #runWithState} with {@link #mCacheLock} held.
     */
    @VisibleForTesting(visibility = PRIVATE)
    public interface StateProvider {
@@ -923,15 +925,16 @@ public class AppsFilter implements Watchable, Snappable {
    }

    private void updateShouldFilterCacheForPackage(String packageName) {
        synchronized (mCacheLock) {
            if (mShouldFilterCache != null) {
        mStateProvider.runWithState((settings, users) -> {
            synchronized (mCacheLock) {
                if (mShouldFilterCache == null) {
                    return;
                }
                updateShouldFilterCacheForPackage(mShouldFilterCache, null /* skipPackage */,
                        settings.get(packageName), settings, users,
                        settings.size() /*maxIndex*/);
                });
            }
            }
        });
    }

    private void updateShouldFilterCacheForPackage(WatchedSparseBooleanMatrix cache,