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

Commit dd337315 authored by Yurii Zubrytskyi's avatar Yurii Zubrytskyi Committed by Android (Google) Code Review
Browse files

Merge "Synchronize increment of resource cache generations" into udc-dev

parents 4b651767 d58dcf55
Loading
Loading
Loading
Loading
+14 −14
Original line number Diff line number Diff line
@@ -137,9 +137,11 @@ abstract class ThemedResourceCache<T> {
     */
    @UnsupportedAppUsage
    public void onConfigurationChange(@Config int configChanges) {
        prune(configChanges);
        synchronized (this) {
            pruneLocked(configChanges);
            mGeneration++;
        }
    }

    /**
     * Returns whether a cached entry has been invalidated by a configuration
@@ -214,8 +216,7 @@ abstract class ThemedResourceCache<T> {
     *                      simply prune missing weak references
     * @return {@code true} if the cache is completely empty after pruning
     */
    private boolean prune(@Config int configChanges) {
        synchronized (this) {
    private boolean pruneLocked(@Config int configChanges) {
        if (mThemedEntries != null) {
            for (int i = mThemedEntries.size() - 1; i >= 0; i--) {
                if (pruneEntriesLocked(mThemedEntries.valueAt(i), configChanges)) {
@@ -230,7 +231,6 @@ abstract class ThemedResourceCache<T> {
        return mThemedEntries == null && mNullThemedEntries == null
                && mUnthemedEntries == null;
    }
    }

    private boolean pruneEntriesLocked(@Nullable LongSparseArray<WeakReference<T>> entries,
            @Config int configChanges) {