aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync
diff options
context:
space:
mode:
Diffstat (limited to 'AndroidAsync')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/util/FileCache.java26
1 files changed, 16 insertions, 10 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/util/FileCache.java b/AndroidAsync/src/com/koushikdutta/async/util/FileCache.java
index d117108..0d20462 100644
--- a/AndroidAsync/src/com/koushikdutta/async/util/FileCache.java
+++ b/AndroidAsync/src/com/koushikdutta/async/util/FileCache.java
@@ -62,18 +62,24 @@ public class FileCache {
return null;
}
- public static String toKeyString(Object... parts) {
- MessageDigest messageDigest;
- synchronized (FileCache.class) {
- try {
- messageDigest = MessageDigest.getInstance(hashAlgorithm);
- } catch (NoSuchAlgorithmException e) {
- messageDigest = findAlternativeMessageDigest();
- if (null == messageDigest)
- throw new RuntimeException(e);
- }
+ static MessageDigest messageDigest;
+ static {
+ try {
+ messageDigest = MessageDigest.getInstance(hashAlgorithm);
+ } catch (NoSuchAlgorithmException e) {
+ messageDigest = findAlternativeMessageDigest();
+ if (null == messageDigest)
+ throw new RuntimeException(e);
+ }
+ try {
+ messageDigest = (MessageDigest)messageDigest.clone();
+ }
+ catch (CloneNotSupportedException e) {
}
+ }
+ public static synchronized String toKeyString(Object... parts) {
+ messageDigest.reset();
for (Object part : parts) {
messageDigest.update(part.toString().getBytes());
}