pull/21/head
fengyuecanzhu 3 years ago
parent a774c7056b
commit 420725d5d2
  1. 20
      app/src/main/java/xyz/fycz/myreader/greendao/entity/Book.java
  2. 3
      app/src/main/java/xyz/fycz/myreader/greendao/entity/Chapter.java
  3. 3
      app/src/main/java/xyz/fycz/myreader/ui/adapter/holder/SourceExchangeHolder.java
  4. 3
      app/src/main/java/xyz/fycz/myreader/ui/dialog/SourceExchangeDialog.java

@ -306,8 +306,11 @@ public class Book implements Serializable, RuleDataInterface {
if (this == o) return true; if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o; Book book = (Book) o;
boolean flag = chapterUrl == null ?
(infoUrl == null || infoUrl.equals(book.infoUrl)) :
chapterUrl.equals(book.chapterUrl);
return name.equals(book.name) && return name.equals(book.name) &&
chapterUrl.equals(book.chapterUrl) && flag && author != null &&
author.equals(book.author) && author.equals(book.author) &&
source.equals(book.source); source.equals(book.source);
} }
@ -396,6 +399,9 @@ public class Book implements Serializable, RuleDataInterface {
if (variableMap == null && !TextUtils.isEmpty(variable)) { if (variableMap == null && !TextUtils.isEmpty(variable)) {
variableMap = GsonExtensionsKt.getGSON().fromJson(variable, MAP_STRING); variableMap = GsonExtensionsKt.getGSON().fromJson(variable, MAP_STRING);
} }
if (variableMap == null) {
variableMap = new HashMap<>();
}
return variableMap; return variableMap;
} }
@ -423,8 +429,8 @@ public class Book implements Serializable, RuleDataInterface {
catheMap.put(key, value); catheMap.put(key, value);
} }
public String getCathe(String key){ public String getCathe(String key) {
if (catheMap == null){ if (catheMap == null) {
return ""; return "";
} }
return catheMap.get(key); return catheMap.get(key);
@ -434,7 +440,7 @@ public class Book implements Serializable, RuleDataInterface {
this.catheMap = catheMap; this.catheMap = catheMap;
} }
public void clearCathe(){ public void clearCathe() {
if (catheMap != null) { if (catheMap != null) {
catheMap.clear(); catheMap.clear();
} }
@ -454,7 +460,7 @@ public class Book implements Serializable, RuleDataInterface {
return getVariableMap().get(key); return getVariableMap().get(key);
} }
public Book changeSource(Book newBook){ public Book changeSource(Book newBook) {
Book bookTem = (Book) clone(); Book bookTem = (Book) clone();
bookTem.clearCathe(); bookTem.clearCathe();
bookTem.setChapterUrl(newBook.getChapterUrl()); bookTem.setChapterUrl(newBook.getChapterUrl());
@ -482,9 +488,11 @@ public class Book implements Serializable, RuleDataInterface {
bookTem.setVariable(newBook.getVariable()); bookTem.setVariable(newBook.getVariable());
bookTem.setVariableMap(newBook.getVariableMap()); bookTem.setVariableMap(newBook.getVariableMap());
} }
if (newBook.getCatheMap() != null){ if (newBook.getCatheMap() != null) {
bookTem.setCatheMap(newBook.getCatheMap()); bookTem.setCatheMap(newBook.getCatheMap());
} }
return bookTem; return bookTem;
} }
public void setReverseToc(boolean reverseToc){}
} }

@ -159,6 +159,9 @@ public class Chapter implements RuleDataInterface {
if (variableMap == null && !TextUtils.isEmpty(variable)) { if (variableMap == null && !TextUtils.isEmpty(variable)) {
variableMap = GsonExtensionsKt.getGSON().fromJson(variable, MAP_STRING); variableMap = GsonExtensionsKt.getGSON().fromJson(variable, MAP_STRING);
} }
if (variableMap == null) {
variableMap = new HashMap<>();
}
return variableMap; return variableMap;
} }

@ -42,7 +42,8 @@ public class SourceExchangeHolder extends ViewHolderImpl<Book> {
public void onBind(RecyclerView.ViewHolder holder, Book data, int pos) { public void onBind(RecyclerView.ViewHolder holder, Book data, int pos) {
sourceTvTitle.setText(BookSourceManager.getSourceNameByStr(data.getSource())); sourceTvTitle.setText(BookSourceManager.getSourceNameByStr(data.getSource()));
sourceTvChapter.setText(data.getNewestChapterTitle()); sourceTvChapter.setText(data.getNewestChapterTitle());
if (data.getSource() != null && data.getSource().equals(dialog.getmShelfBook().getSource())) { if ((data.getInfoUrl() != null && data.getInfoUrl().equals(dialog.getmShelfBook().getInfoUrl())||
data.getChapterUrl() != null && data.getChapterUrl().equals(dialog.getmShelfBook().getChapterUrl()))) {
sourceIv.setVisibility(View.VISIBLE); sourceIv.setVisibility(View.VISIBLE);
dialog.setSourceIndex(pos); dialog.setSourceIndex(pos);
} else { } else {

@ -205,7 +205,8 @@ public class SourceExchangeDialog extends Dialog {
searchEngine.stopSearch(); searchEngine.stopSearch();
return; return;
} }
if (mShelfBook.getSource().equals(newBook.getSource())) return; if ((mShelfBook.getInfoUrl() != null && mShelfBook.getInfoUrl().equals(newBook.getInfoUrl())||
mShelfBook.getChapterUrl() != null && mShelfBook.getChapterUrl().equals(newBook.getChapterUrl()))) return;
mShelfBook = newBook; mShelfBook = newBook;
listener.onSourceChanged(newBook, pos); listener.onSourceChanged(newBook, pos);
mAdapter.getItem(pos).setNewestChapterId("true"); mAdapter.getItem(pos).setNewestChapterId("true");

Loading…
Cancel
Save