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)
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 newestChapterTitle, String historyChapterId, int histtoryChapterNum, int sortCode, int noReadNum,
int chapterTotalNum, int lastReadPosition, String source, boolean isCloseUpdate, boolean isDownLoadAll,
String groupId, int groupSort, boolean reSeg, String tag, Boolean replaceEnable, long lastReadTime,
String variable) {
String type, String updateDate, String wordCount, String status, String newestChapterId,
String newestChapterTitle, String historyChapterId, int histtoryChapterNum, int sortCode, int noReadNum,
int chapterTotalNum, int lastReadPosition, String source, boolean isCloseUpdate, boolean isDownLoadAll,
String groupId, int groupSort, boolean reSeg, String tag, Boolean replaceEnable, long lastReadTime,
String variable) {
this.id = id;
this.name = name;
this.chapterUrl = chapterUrl;
@ -306,8 +306,11 @@ public class Book implements Serializable, RuleDataInterface {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o;
boolean flag = chapterUrl == null ?
(infoUrl == null || infoUrl.equals(book.infoUrl)) :
chapterUrl.equals(book.chapterUrl);
return name.equals(book.name) &&
chapterUrl.equals(book.chapterUrl) &&
flag && author != null &&
author.equals(book.author) &&
source.equals(book.source);
}
@ -396,6 +399,9 @@ public class Book implements Serializable, RuleDataInterface {
if (variableMap == null && !TextUtils.isEmpty(variable)) {
variableMap = GsonExtensionsKt.getGSON().fromJson(variable, MAP_STRING);
}
if (variableMap == null) {
variableMap = new HashMap<>();
}
return variableMap;
}
@ -423,8 +429,8 @@ public class Book implements Serializable, RuleDataInterface {
catheMap.put(key, value);
}
public String getCathe(String key){
if (catheMap == null){
public String getCathe(String key) {
if (catheMap == null) {
return "";
}
return catheMap.get(key);
@ -434,7 +440,7 @@ public class Book implements Serializable, RuleDataInterface {
this.catheMap = catheMap;
}
public void clearCathe(){
public void clearCathe() {
if (catheMap != null) {
catheMap.clear();
}
@ -454,7 +460,7 @@ public class Book implements Serializable, RuleDataInterface {
return getVariableMap().get(key);
}
public Book changeSource(Book newBook){
public Book changeSource(Book newBook) {
Book bookTem = (Book) clone();
bookTem.clearCathe();
bookTem.setChapterUrl(newBook.getChapterUrl());
@ -482,9 +488,11 @@ public class Book implements Serializable, RuleDataInterface {
bookTem.setVariable(newBook.getVariable());
bookTem.setVariableMap(newBook.getVariableMap());
}
if (newBook.getCatheMap() != null){
if (newBook.getCatheMap() != null) {
bookTem.setCatheMap(newBook.getCatheMap());
}
return bookTem;
}
public void setReverseToc(boolean reverseToc){}
}

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

@ -42,7 +42,8 @@ public class SourceExchangeHolder extends ViewHolderImpl<Book> {
public void onBind(RecyclerView.ViewHolder holder, Book data, int pos) {
sourceTvTitle.setText(BookSourceManager.getSourceNameByStr(data.getSource()));
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);
dialog.setSourceIndex(pos);
} else {

@ -205,7 +205,8 @@ public class SourceExchangeDialog extends Dialog {
searchEngine.stopSearch();
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;
listener.onSourceChanged(newBook, pos);
mAdapter.getItem(pos).setNewestChapterId("true");

Loading…
Cancel
Save