2929import java .io .File ;
3030import java .lang .ref .SoftReference ;
3131import java .util .ArrayList ;
32+ import java .util .Collections ;
3233import java .util .LinkedHashMap ;
3334import java .util .List ;
3435import java .util .concurrent .ConcurrentHashMap ;
@@ -60,7 +61,7 @@ public class ThumbnailLoader {
6061 // This gets cleared by the Garbage Collector everytime we get low on memory.
6162 private ConcurrentHashMap <String , SoftReference <Bitmap >> mSoftBitmapCache ;
6263 private LinkedHashMap <String , Bitmap > mHardBitmapCache ;
63- private ArrayList <String > mBlacklist ;
64+ private List <String > mBlacklist ;
6465
6566 /**
6667 * Used for loading and decoding thumbnails from files.
@@ -82,7 +83,7 @@ public void run() {
8283 purgeHandler = new Handler ();
8384 mExecutor = new PausableThreadPoolExecutor (POOL_SIZE );
8485
85- mBlacklist = new ArrayList <>( );
86+ mBlacklist = Collections . synchronizedList ( new ArrayList <String >() );
8687 mSoftBitmapCache = new ConcurrentHashMap <>(MAX_CACHE_CAPACITY / 2 );
8788 mHardBitmapCache = new LinkedHashMap <String , Bitmap >(MAX_CACHE_CAPACITY / 2 , 0.75f , true ) {
8889
@@ -166,8 +167,6 @@ public void stopPurgeTimer() {
166167
167168 /**
168169 * Purges the cache every (DELAY_BEFORE_PURGE) milliseconds.
169- *
170- * @see DELAY_BEFORE_PURGE
171170 */
172171 private void resetPurgeTimer () {
173172 purgeHandler .removeCallbacks (purger );
0 commit comments