|
|
@ -41,9 +41,14 @@ data class RssSource( |
|
|
|
var loadWithBaseUrl: Boolean = false, |
|
|
|
var loadWithBaseUrl: Boolean = false, |
|
|
|
|
|
|
|
|
|
|
|
var customOrder: Int = 0 |
|
|
|
var customOrder: Int = 0 |
|
|
|
): Parcelable, JsExtensions { |
|
|
|
) : Parcelable, JsExtensions { |
|
|
|
|
|
|
|
|
|
|
|
override fun equals(other: Any?) = if (other is RssSource) other.sourceUrl == sourceUrl else false |
|
|
|
override fun equals(other: Any?): Boolean { |
|
|
|
|
|
|
|
if (other is RssSource) { |
|
|
|
|
|
|
|
return other.sourceUrl == sourceUrl |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun hashCode() = sourceUrl.hashCode() |
|
|
|
override fun hashCode() = sourceUrl.hashCode() |
|
|
|
|
|
|
|
|
|
|
@ -69,22 +74,26 @@ data class RssSource( |
|
|
|
* 执行JS |
|
|
|
* 执行JS |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@Throws(Exception::class) |
|
|
|
@Throws(Exception::class) |
|
|
|
private fun evalJS(jsStr: String): Any = AppConst.SCRIPT_ENGINE.eval(jsStr, SimpleBindings().apply { this["java"] = this@RssSource }) |
|
|
|
private fun evalJS(jsStr: String): Any? { |
|
|
|
|
|
|
|
val bindings = SimpleBindings() |
|
|
|
|
|
|
|
bindings["java"] = this |
|
|
|
|
|
|
|
return AppConst.SCRIPT_ENGINE.eval(jsStr, bindings) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fun equal(source: RssSource): Boolean { |
|
|
|
fun equal(source: RssSource): Boolean { |
|
|
|
return equal(sourceUrl, source.sourceUrl) |
|
|
|
return equal(sourceUrl, source.sourceUrl) |
|
|
|
&& equal(sourceIcon, source.sourceIcon) |
|
|
|
&& equal(sourceIcon, source.sourceIcon) |
|
|
|
&& enabled == source.enabled |
|
|
|
&& enabled == source.enabled |
|
|
|
&& equal(sourceGroup, source.sourceGroup) |
|
|
|
&& equal(sourceGroup, source.sourceGroup) |
|
|
|
&& equal(ruleArticles, source.ruleArticles) |
|
|
|
&& equal(ruleArticles, source.ruleArticles) |
|
|
|
&& equal(ruleNextPage, source.ruleNextPage) |
|
|
|
&& equal(ruleNextPage, source.ruleNextPage) |
|
|
|
&& equal(ruleTitle, source.ruleTitle) |
|
|
|
&& equal(ruleTitle, source.ruleTitle) |
|
|
|
&& equal(rulePubDate, source.rulePubDate) |
|
|
|
&& equal(rulePubDate, source.rulePubDate) |
|
|
|
&& equal(ruleDescription, source.ruleDescription) |
|
|
|
&& equal(ruleDescription, source.ruleDescription) |
|
|
|
&& equal(ruleLink, source.ruleLink) |
|
|
|
&& equal(ruleLink, source.ruleLink) |
|
|
|
&& equal(ruleContent, source.ruleContent) |
|
|
|
&& equal(ruleContent, source.ruleContent) |
|
|
|
&& enableJs == source.enableJs |
|
|
|
&& enableJs == source.enableJs |
|
|
|
&& loadWithBaseUrl == source.loadWithBaseUrl |
|
|
|
&& loadWithBaseUrl == source.loadWithBaseUrl |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private fun equal(a: String?, b: String?): Boolean { |
|
|
|
private fun equal(a: String?, b: String?): Boolean { |
|
|
|