Skip to content

Commit d50a452

Browse files
committed
fix nullpointer, make blacklist threadsafe
1 parent 80b73e3 commit d50a452

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

FileManager/src/org/openintents/filemanager/ThumbnailLoader.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.io.File;
3030
import java.lang.ref.SoftReference;
3131
import java.util.ArrayList;
32+
import java.util.Collections;
3233
import java.util.LinkedHashMap;
3334
import java.util.List;
3435
import 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);

FileManager/src/org/openintents/filemanager/util/CopyHelper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ private boolean copyFile(File oldFile, File newFile) {
134134
// ignore
135135
}
136136
try {
137-
output.close();
137+
if (output != null) {
138+
output.close();
139+
}
138140
} catch (IOException e) {
139141
// ignore
140142
}

0 commit comments

Comments
 (0)