diff --git a/app/src/main/java/io/legado/app/data/entities/BaseBook.kt b/app/src/main/java/io/legado/app/data/entities/BaseBook.kt index 5b3f76e0c..5f7964861 100644 --- a/app/src/main/java/io/legado/app/data/entities/BaseBook.kt +++ b/app/src/main/java/io/legado/app/data/entities/BaseBook.kt @@ -1,6 +1,7 @@ package io.legado.app.data.entities import io.legado.app.model.analyzeRule.RuleDataInterface +import io.legado.app.utils.GSON import io.legado.app.utils.splitNotBlank interface BaseBook : RuleDataInterface { @@ -9,10 +10,16 @@ interface BaseBook : RuleDataInterface { var bookUrl: String var kind: String? var wordCount: String? + var variable: String? var infoHtml: String? var tocHtml: String? + override fun putVariable(key: String, value: String?) { + super.putVariable(key, value) + variable = GSON.toJson(variableMap) + } + fun getKindList(): List { val kindList = arrayListOf() wordCount?.let { diff --git a/app/src/main/java/io/legado/app/data/entities/Book.kt b/app/src/main/java/io/legado/app/data/entities/Book.kt index 372d1271e..8f1661bc2 100644 --- a/app/src/main/java/io/legado/app/data/entities/Book.kt +++ b/app/src/main/java/io/legado/app/data/entities/Book.kt @@ -99,7 +99,7 @@ data class Book( @ColumnInfo(defaultValue = "0") var originOrder: Int = 0, // 自定义书籍变量信息(用于书源规则检索书籍信息) - var variable: String? = null, + override var variable: String? = null, var readConfig: ReadConfig? = null ) : Parcelable, BaseBook { @@ -142,11 +142,6 @@ data class Book( GSON.fromJsonObject>(variable).getOrNull() ?: hashMapOf() } - override fun putVariable(key: String, value: String?) { - super.putVariable(key, value) - variable = GSON.toJson(variableMap) - } - @Ignore @IgnoredOnParcel override var infoHtml: String? = null diff --git a/app/src/main/java/io/legado/app/data/entities/SearchBook.kt b/app/src/main/java/io/legado/app/data/entities/SearchBook.kt index 853acbbfd..7d0d1e026 100644 --- a/app/src/main/java/io/legado/app/data/entities/SearchBook.kt +++ b/app/src/main/java/io/legado/app/data/entities/SearchBook.kt @@ -36,7 +36,7 @@ data class SearchBook( var latestChapterTitle: String? = null, var tocUrl: String = "", // 目录页Url (toc=table of Contents) var time: Long = System.currentTimeMillis(), - var variable: String? = null, + override var variable: String? = null, var originOrder: Int = 0 ) : Parcelable, BaseBook, Comparable { @@ -63,11 +63,6 @@ data class SearchBook( GSON.fromJsonObject>(variable).getOrNull() ?: HashMap() } - override fun putVariable(key: String, value: String?) { - super.putVariable(key, value) - variable = GSON.toJson(variableMap) - } - @delegate:Transient @delegate:Ignore @IgnoredOnParcel diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/RuleDataInterface.kt b/app/src/main/java/io/legado/app/model/analyzeRule/RuleDataInterface.kt index 29dc9fb98..daa4f108a 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/RuleDataInterface.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/RuleDataInterface.kt @@ -5,10 +5,16 @@ interface RuleDataInterface { val variableMap: HashMap fun putVariable(key: String, value: String?) { - if (value == null) { - variableMap.remove(key) - } else if (value.length < 1000) { - variableMap[key] = value + when { + value == null -> { + variableMap.remove(key) + } + value.length < 1000 -> { + variableMap[key] = value + } + else -> { + + } } }