diff options
Diffstat (limited to 'AndroidAsync')
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/util/FileCache.java | 26 |
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()); } |