pull/21/head
fengyuecanzhu 3 years ago
parent a774c7056b
commit 420725d5d2
  1. 30
      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

@ -92,11 +92,11 @@ public class Book implements Serializable, RuleDataInterface {
@Generated(hash = 1472063028) @Generated(hash = 1472063028)
public Book(String id, String name, String chapterUrl, String infoUrl, String imgUrl, String desc, String author, public Book(String id, String name, String chapterUrl, String infoUrl, String imgUrl, String desc, String author,
String type, String updateDate, String wordCount, String status, String newestChapterId, String type, String updateDate, String wordCount, String status, String newestChapterId,
String newestChapterTitle, String historyChapterId, int histtoryChapterNum, int sortCode, int noReadNum, String newestChapterTitle, String historyChapterId, int histtoryChapterNum, int sortCode, int noReadNum,
int chapterTotalNum, int lastReadPosition, String source, boolean isCloseUpdate, boolean isDownLoadAll, int chapterTotalNum, int lastReadPosition, String source, boolean isCloseUpdate, boolean isDownLoadAll,
String groupId, int groupSort, boolean reSeg, String tag, Boolean replaceEnable, long lastReadTime, String groupId, int groupSort, boolean reSeg, String tag, Boolean replaceEnable, long lastReadTime,
String variable) { String variable) {
this.id = id; this.id = id;
this.name = name; this.name = name;
this.chapterUrl = chapterUrl; this.chapterUrl = chapterUrl;
@ -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