am b6d33df9: Fix concurrent modifcation exception (issue 11234805)

* commit 'b6d33df9092cacfda1768ffdb96a0770c861566d':
  Fix concurrent modifcation exception (issue 11234805)
This commit is contained in:
Adam Cohen
2013-10-15 11:06:24 -07:00
committed by Android Git Automerger
+6 -3
View File
@@ -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();
}
}
}