From 1073ed6c246c96c69fe5c428698d7c91c4aafbc1 Mon Sep 17 00:00:00 2001 From: tarsin Date: Tue, 14 Feb 2023 13:40:56 +0800 Subject: [PATCH] Minor cleanup --- .../hippo/ehviewer/gallery/EhPageLoader.java | 6 +----- .../hippo/ehviewer/spider/SpiderQueen.java | 16 ++++------------ .../ehviewer/spider/SpiderQueenWorker.kt | 19 +++++++++---------- 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.java b/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.java index a970a4dd8..51b8ce448 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/EhPageLoader.java @@ -183,11 +183,7 @@ public class EhPageLoader extends PageLoader2 implements SpiderQueen.OnSpiderLis } @Override - public void onPageSuccess(int index, int finished, int downloaded, int total) { - if (mSpiderQueen != null) { - mSpiderQueen.request(index); - } - } + public void onPageSuccess(int index, int finished, int downloaded, int total) {} @Override public void onPageFailure(int index, String error, int finished, int downloaded, int total) { 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 f1858271d..2e8fdc918 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java @@ -357,11 +357,11 @@ public final class SpiderQueen implements Runnable { } public Object forceRequest(int index) { - return request(index, true, true); + return request(index, true); } public Object request(int index) { - return request(index, true, false); + return request(index, false); } private int getPageState(int index) { @@ -395,7 +395,7 @@ public final class SpiderQueen implements Runnable { * Float for download percent
* null for wait */ - private Object request(int index, boolean ignoreError, boolean force) { + private Object request(int index, boolean force) { if (mQueenThread == null) { return null; } @@ -404,8 +404,7 @@ public final class SpiderQueen implements Runnable { int state = getPageState(index); // Fix state for force - if ((force && (state == STATE_FINISHED || state == STATE_FAILED)) || - (ignoreError && state == STATE_FAILED)) { + if ((force && (state == STATE_FINISHED || state == STATE_FAILED)) || (state == STATE_FAILED)) { // Update state to none at once updatePageState(index, STATE_NONE); state = STATE_NONE; @@ -418,13 +417,6 @@ public final class SpiderQueen implements Runnable { switch (state) { case STATE_NONE, STATE_FINISHED -> result = null; case STATE_DOWNLOADING -> result = mPagePercentMap.get(index); - case STATE_FAILED -> { - String error = mPageErrorMap.get(index); - if (error == null) { - error = GetText.getString(R.string.error_unknown); - } - result = error; - } default -> throw new IllegalStateException("Unexpected value: " + state); } diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueenWorker.kt b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueenWorker.kt index 77abb3956..d0c877887 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueenWorker.kt +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueenWorker.kt @@ -73,21 +73,15 @@ class SpiderQueenWorker(private val queen: SpiderQueen) : CoroutineScope { }.toSet().forEach { mJobMap.remove(it) } list.forEach { if (mJobMap[it]?.isActive != true) - launch(it, false, downloadOnly = true) + doLaunchDownloadJob(it, false) } } } - @JvmOverloads - fun launch(index: Int, force: Boolean = false, downloadOnly: Boolean = false) { - check(index in 0 until size) + private fun doLaunchDownloadJob(index: Int, force: Boolean) { val state = queen.mPageStateArray[index] - if (!force && state == STATE_FINISHED) { - decoder.launch(index) - return - } - - if (!downloadOnly) synchronized(mJobMap) { + if (!force && state == STATE_FINISHED) return + synchronized(mJobMap) { val currentJob = mJobMap[index] if (force) currentJob?.cancel() if (currentJob?.isActive != true) { @@ -98,7 +92,12 @@ class SpiderQueenWorker(private val queen: SpiderQueen) : CoroutineScope { } } } + } + @JvmOverloads + fun launch(index: Int, force: Boolean = false) { + check(index in 0 until size) + if (!isDownloadMode) doLaunchDownloadJob(index, force) decoder.launch(index) }