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

Commit b6d33df9 authored by Adam Cohen's avatar Adam Cohen
Browse files

Fix concurrent modifcation exception (issue 11234805)

Change-Id: I21a7e968c249b0d8876fbffa68954ddc229b16df
parent e5467dcc
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ import android.graphics.Canvas;
import android.graphics.drawable.Drawable;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;

/**
 * Cache of application icons.  Icons can be made from any thread.
@@ -151,10 +153,11 @@ public class IconCache {
     */
    public void flushInvalidIcons(DeviceProfile grid) {
        synchronized (mCache) {
            for (ComponentName cn : mCache.keySet()) {
                final CacheEntry e = mCache.get(cn);
            Iterator<Entry<ComponentName, CacheEntry>> it = mCache.entrySet().iterator();
            while (it.hasNext()) {
                final CacheEntry e = it.next().getValue();
                if (e.icon.getWidth() != grid.iconSizePx || e.icon.getHeight() != grid.iconSizePx) {
                    mCache.remove(cn);
                    it.remove();
                }
            }
        }