BookSource.kt: Modify functions into assigning style

Signed-off-by: 1552980358 <1552980358@qq.com>
pull/369/head
1552980358 5 years ago
parent 8947c7f8f8
commit 66e24bc1c4
  1. 96
      app/src/main/java/io/legado/app/data/entities/BookSource.kt

@ -11,8 +11,8 @@ import io.legado.app.data.entities.rule.*
import io.legado.app.help.JsExtensions
import io.legado.app.utils.*
import kotlinx.android.parcel.Parcelize
import java.util.*
import javax.script.SimpleBindings
import kotlin.collections.HashMap
@Parcelize
@TypeConverters(BookSource.Converters::class)
@ -48,17 +48,11 @@ data class BookSource(
return bookSourceUrl.hashCode()
}
override fun equals(other: Any?): Boolean {
if (other is BookSource) {
return other.bookSourceUrl == bookSourceUrl
}
return false
}
override fun equals(other: Any?) = if (other is BookSource) other.bookSourceUrl == bookSourceUrl else false
@Throws(Exception::class)
fun getHeaderMap(): Map<String, String> {
val headerMap = HashMap<String, String>()
headerMap[AppConst.UA_NAME] = App.INSTANCE.getPrefString("user_agent") ?: userAgent
fun getHeaderMap() = (HashMap<String, String>().apply {
this[AppConst.UA_NAME] = App.INSTANCE.getPrefString("user_agent") ?: userAgent
header?.let {
val header1 = when {
it.startsWith("@js:", true) ->
@ -68,31 +62,20 @@ data class BookSource(
else -> it
}
GSON.fromJsonObject<Map<String, String>>(header1)?.let { map ->
headerMap.putAll(map)
}
putAll(map)
}
return headerMap
}
}) as Map<String, String>
fun getSearchRule(): SearchRule {
return ruleSearch ?: SearchRule()
}
fun getSearchRule() = ruleSearch ?: SearchRule()
fun getExploreRule(): ExploreRule {
return ruleExplore ?: ExploreRule()
}
fun getExploreRule() = ruleExplore ?: ExploreRule()
fun getBookInfoRule(): BookInfoRule {
return ruleBookInfo ?: BookInfoRule()
}
fun getBookInfoRule() = ruleBookInfo ?: BookInfoRule()
fun getTocRule(): TocRule {
return ruleToc ?: TocRule()
}
fun getTocRule() = ruleToc ?: TocRule()
fun getContentRule(): ContentRule {
return ruleContent ?: ContentRule()
}
fun getContentRule() = ruleContent ?: ContentRule()
fun addGroup(group: String) {
bookSourceGroup?.let {
@ -111,8 +94,7 @@ data class BookSource(
}
}
fun getExploreKinds(): ArrayList<ExploreKind>? {
val exploreKinds = arrayListOf<ExploreKind>()
fun getExploreKinds() = arrayListOf<ExploreKind>().apply {
exploreUrl?.let {
var a = it
if (a.isNotBlank()) {
@ -135,14 +117,13 @@ data class BookSource(
b.forEach { c ->
val d = c.split("::")
if (d.size > 1)
exploreKinds.add(ExploreKind(d[0], d[1]))
add(ExploreKind(d[0], d[1]))
}
} catch (e: Exception) {
exploreKinds.add(ExploreKind(e.localizedMessage ?: ""))
add(ExploreKind(e.localizedMessage ?: ""))
}
}
}
return exploreKinds
}
/**
@ -155,8 +136,8 @@ data class BookSource(
return AppConst.SCRIPT_ENGINE.eval(jsStr, bindings)
}
fun equal(source: BookSource): Boolean {
return equal(bookSourceName, source.bookSourceName)
fun equal(source: BookSource) =
equal(bookSourceName, source.bookSourceName)
&& equal(bookSourceUrl, source.bookSourceUrl)
&& equal(bookSourceGroup, source.bookSourceGroup)
&& bookSourceType == source.bookSourceType
@ -173,11 +154,8 @@ data class BookSource(
&& getBookInfoRule() == source.getBookInfoRule()
&& getTocRule() == source.getTocRule()
&& getContentRule() == source.getContentRule()
}
private fun equal(a: String?, b: String?): Boolean {
return a == b || (a.isNullOrEmpty() && b.isNullOrEmpty())
}
private fun equal(a: String?, b: String?) = a == b || (a.isNullOrEmpty() && b.isNullOrEmpty())
data class ExploreKind(
var title: String,
@ -186,54 +164,34 @@ data class BookSource(
class Converters {
@TypeConverter
fun exploreRuleToString(exploreRule: ExploreRule?): String? {
return GSON.toJson(exploreRule)
}
fun exploreRuleToString(exploreRule: ExploreRule?) = GSON.toJson(exploreRule)
@TypeConverter
fun stringToExploreRule(json: String?): ExploreRule? {
return GSON.fromJsonObject<ExploreRule>(json)
}
fun stringToExploreRule(json: String?) = GSON.fromJsonObject<ExploreRule>(json)
@TypeConverter
fun searchRuleToString(searchRule: SearchRule?): String? {
return GSON.toJson(searchRule)
}
fun searchRuleToString(searchRule: SearchRule?) = GSON.toJson(searchRule)
@TypeConverter
fun stringToSearchRule(json: String?): SearchRule? {
return GSON.fromJsonObject<SearchRule>(json)
}
fun stringToSearchRule(json: String?) = GSON.fromJsonObject<SearchRule>(json)
@TypeConverter
fun bookInfoRuleToString(bookInfoRule: BookInfoRule?): String? {
return GSON.toJson(bookInfoRule)
}
fun bookInfoRuleToString(bookInfoRule: BookInfoRule?) = GSON.toJson(bookInfoRule)
@TypeConverter
fun stringToBookInfoRule(json: String?): BookInfoRule? {
return GSON.fromJsonObject<BookInfoRule>(json)
}
fun stringToBookInfoRule(json: String?) = GSON.fromJsonObject<BookInfoRule>(json)
@TypeConverter
fun tocRuleToString(tocRule: TocRule?): String? {
return GSON.toJson(tocRule)
}
fun tocRuleToString(tocRule: TocRule?) = GSON.toJson(tocRule)
@TypeConverter
fun stringToTocRule(json: String?): TocRule? {
return GSON.fromJsonObject<TocRule>(json)
}
fun stringToTocRule(json: String?) = GSON.fromJsonObject<TocRule>(json)
@TypeConverter
fun contentRuleToString(contentRule: ContentRule?): String? {
return GSON.toJson(contentRule)
}
fun contentRuleToString(contentRule: ContentRule?) = GSON.toJson(contentRule)
@TypeConverter
fun stringToContentRule(json: String?): ContentRule? {
return GSON.fromJsonObject<ContentRule>(json)
}
fun stringToContentRule(json: String?) = GSON.fromJsonObject<ContentRule>(json)
}
}
Loading…
Cancel
Save