diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java index d17205abe..db86c10d7 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java @@ -50,13 +50,12 @@ public final class SpiderDen { @Nullable private static SimpleDiskCache sCache; @Nullable - private final UniFile mDownloadDir; + private UniFile mDownloadDir; private final long mGid; private volatile int mMode = SpiderQueen.MODE_READ; public SpiderDen(GalleryInfo galleryInfo) { mGid = galleryInfo.gid; - mDownloadDir = getGalleryDownloadDir(galleryInfo); } public static void initialize(Context context) { @@ -156,6 +155,10 @@ public final class SpiderDen { return mDownloadDir != null && mDownloadDir.isDirectory() ? mDownloadDir : null; } + public void setDownloadDir(UniFile dir) { + mDownloadDir = dir; + } + private boolean containInCache(int index) { if (sCache == null) { return false; diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java index c98b1f4dd..5a5cd9f3d 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java @@ -320,6 +320,9 @@ public final class SpiderQueen implements Runnable { mode = MODE_READ; } + if (mode == MODE_DOWNLOAD && mSpiderDen.getDownloadDir() == null) { + mSpiderDen.setDownloadDir(SpiderDen.getGalleryDownloadDir(mGalleryInfo)); + } mSpiderDen.setMode(mode); // Update download page