From d4190694a919223e749f623fc43d76c7b2ee8606 Mon Sep 17 00:00:00 2001 From: fengyuecanzhu <1021300691@qq.com> Date: Thu, 20 Jan 2022 22:29:08 +0800 Subject: [PATCH] fix bug --- .../xyz/fycz/myreader/model/SearchEngine.java | 11 ++++++++--- .../model/third3/analyzeRule/JsExtensions.kt | 2 +- .../ui/activity/BookDetailedActivity.java | 16 ++++++++++------ .../fycz/myreader/ui/activity/ReadActivity.java | 8 +++++--- .../myreader/ui/dialog/SourceExchangeDialog.java | 5 +++++ 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/xyz/fycz/myreader/model/SearchEngine.java b/app/src/main/java/xyz/fycz/myreader/model/SearchEngine.java index e920016..0503275 100644 --- a/app/src/main/java/xyz/fycz/myreader/model/SearchEngine.java +++ b/app/src/main/java/xyz/fycz/myreader/model/SearchEngine.java @@ -45,6 +45,7 @@ public class SearchEngine { private int searchSiteIndex; private int searchSuccessNum; private int searchFinishNum; + private boolean isFinish; private OnSearchListener searchListener; @@ -70,6 +71,7 @@ public class SearchEngine { public void stopSearch() { if (compositeDisposable != null) compositeDisposable.dispose(); compositeDisposable = new CompositeDisposable(); + isFinish = true; searchListener.loadMoreFinish(true); } @@ -109,6 +111,7 @@ public class SearchEngine { searchSuccessNum = 0; searchSiteIndex = -1; searchFinishNum = 0; + isFinish = false; for (int i = 0; i < Math.min(mSourceList.size(), threadsNum); i++) { searchOnEngine(keyword); } @@ -130,6 +133,7 @@ public class SearchEngine { searchSuccessNum = 0; searchSiteIndex = -1; searchFinishNum = 0; + isFinish = false; for (int i = 0; i < Math.min(mSourceList.size(), threadsNum); i++) { searchOnEngine(title, author); } @@ -170,8 +174,9 @@ public class SearchEngine { } }); - } else { + } else if (!isFinish){ if (searchFinishNum == mSourceList.size()) { + isFinish = true; if (searchSuccessNum == 0) { searchListener.searchBookError(new Throwable("未搜索到内容")); } @@ -220,13 +225,13 @@ public class SearchEngine { } }); - } else { + } else if (!isFinish){ if (searchFinishNum >= mSourceList.size()) { + isFinish = true; if (searchSuccessNum == 0) { searchListener.searchBookError(new Throwable("未搜索到内容")); } searchListener.loadMoreFinish(true); - } } diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt index cbd6416..f1348e9 100644 --- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt +++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt @@ -487,7 +487,7 @@ interface JsExtensions { Debug.log(it.sourceUrl, msg) } ?: Debug.log(msg)*/ if (App.isDebug()) { - Log.d(TAG, msg) + Log.d(TAG + "-" + getSource()?.sourceUrl, msg) } return msg } diff --git a/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java b/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java index 6ad15c5..173e0cf 100644 --- a/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java +++ b/app/src/main/java/xyz/fycz/myreader/ui/activity/BookDetailedActivity.java @@ -128,10 +128,12 @@ public class BookDetailedActivity extends BaseActivity { protected void onSaveInstanceState(@NonNull Bundle outState) { aBooks = mSourceDialog.getaBooks(); Intent intent = new Intent(); - if (aBooks != null) { - aBooks.set(mSourceDialog.getSourceIndex(), mBook); + if (aBooks != null && aBooks.size() > 0) { + int sourceIndex = mSourceDialog.getSourceIndex(); + if (mSourceDialog.hasCurBookSource()) + aBooks.set(sourceIndex, mBook); BitIntentDataManager.getInstance().putData(intent, aBooks); - intent.putExtra(APPCONST.SOURCE_INDEX, mSourceDialog.getSourceIndex()); + intent.putExtra(APPCONST.SOURCE_INDEX, sourceIndex); } else { BitIntentDataManager.getInstance().putData(intent, mBook); } @@ -511,10 +513,12 @@ public class BookDetailedActivity extends BaseActivity { } Intent intent = new Intent(this, ReadActivity.class); aBooks = mSourceDialog.getaBooks(); - if (aBooks != null) { - aBooks.set(mSourceDialog.getSourceIndex(), mBook); + if (aBooks != null && aBooks.size() > 0) { + int sourceIndex = mSourceDialog.getSourceIndex(); + if (mSourceDialog.hasCurBookSource()) + aBooks.set(sourceIndex, mBook); BitIntentDataManager.getInstance().putData(intent, aBooks); - intent.putExtra(APPCONST.SOURCE_INDEX, mSourceDialog.getSourceIndex()); + intent.putExtra(APPCONST.SOURCE_INDEX, sourceIndex); } else { BitIntentDataManager.getInstance().putData(intent, mBook); } diff --git a/app/src/main/java/xyz/fycz/myreader/ui/activity/ReadActivity.java b/app/src/main/java/xyz/fycz/myreader/ui/activity/ReadActivity.java index f6b3342..9f1b8a3 100644 --- a/app/src/main/java/xyz/fycz/myreader/ui/activity/ReadActivity.java +++ b/app/src/main/java/xyz/fycz/myreader/ui/activity/ReadActivity.java @@ -246,10 +246,12 @@ public class ReadActivity extends BaseActivity implements ColorPickerDialogListe protected void onSaveInstanceState(@NonNull Bundle outState) { aBooks = mSourceDialog.getaBooks(); Intent intent = new Intent(); - if (aBooks != null) { - aBooks.set(mSourceDialog.getSourceIndex(), mBook); + if (aBooks != null && aBooks.size() > 0) { + int sourceIndex = mSourceDialog.getSourceIndex(); + if (mSourceDialog.hasCurBookSource()) + aBooks.set(sourceIndex, mBook); BitIntentDataManager.getInstance().putData(intent, aBooks); - intent.putExtra(APPCONST.SOURCE_INDEX, mSourceDialog.getSourceIndex()); + intent.putExtra(APPCONST.SOURCE_INDEX, sourceIndex); } else { BitIntentDataManager.getInstance().putData(intent, mBook); } diff --git a/app/src/main/java/xyz/fycz/myreader/ui/dialog/SourceExchangeDialog.java b/app/src/main/java/xyz/fycz/myreader/ui/dialog/SourceExchangeDialog.java index 202da01..6d78306 100644 --- a/app/src/main/java/xyz/fycz/myreader/ui/dialog/SourceExchangeDialog.java +++ b/app/src/main/java/xyz/fycz/myreader/ui/dialog/SourceExchangeDialog.java @@ -83,6 +83,11 @@ public class SourceExchangeDialog extends Dialog { } return sourceIndex == -1 ? 0 : sourceIndex; } + + public boolean hasCurBookSource(){ + return getSourceIndex() == sourceIndex; + } + public void setOnSourceChangeListener(OnSourceChangeListener listener) { this.listener = listener; }