From 101b1cf256c2c2c9e021cfc206f3c9def3cd46a2 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sun, 26 Apr 2015 02:12:21 +0800 Subject: [PATCH] Maybe fix cache issue --- app/src/main/java/com/hippo/ehviewer/cache/AnyCache.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/cache/AnyCache.java b/app/src/main/java/com/hippo/ehviewer/cache/AnyCache.java index 45009dbbc..b48f6d6b8 100644 --- a/app/src/main/java/com/hippo/ehviewer/cache/AnyCache.java +++ b/app/src/main/java/com/hippo/ehviewer/cache/AnyCache.java @@ -464,6 +464,7 @@ public abstract class AnyCache { public boolean put(String key, E value) { DiskLruCache.Editor editor = null; OutputStream os = null; + boolean completeEdit = false; try { editor = mDiskLruCache.edit(key); if (editor == null) { @@ -476,17 +477,19 @@ public abstract class AnyCache { final BufferedOutputStream buffOut = new BufferedOutputStream(os, IO_BUFFER_SIZE); boolean result = mParent.write(buffOut, value); + completeEdit = true; editor.commit(); return result; } else { // Can't get OutputStream + completeEdit = true; editor.abort(); return false; } } catch (IOException e) { Util.closeQuietly(os); try { - if (editor != null) { + if (!completeEdit && editor != null) { editor.abort(); } } catch (IOException ignored) {