rss webView添加注入js
This commit is contained in:
@@ -111,6 +111,8 @@ data class RssSource(
|
|||||||
&& enableJs == source.enableJs
|
&& enableJs == source.enableJs
|
||||||
&& loadWithBaseUrl == source.loadWithBaseUrl
|
&& loadWithBaseUrl == source.loadWithBaseUrl
|
||||||
&& equal(variableComment, source.variableComment)
|
&& equal(variableComment, source.variableComment)
|
||||||
|
&& equal(style, source.style)
|
||||||
|
&& equal(injectJs, source.injectJs)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun equal(a: String?, b: String?): Boolean {
|
private fun equal(a: String?, b: String?): Boolean {
|
||||||
@@ -180,6 +182,7 @@ data class RssSource(
|
|||||||
ruleLink = doc.readString("$.ruleLink"),
|
ruleLink = doc.readString("$.ruleLink"),
|
||||||
ruleContent = doc.readString("$.ruleContent"),
|
ruleContent = doc.readString("$.ruleContent"),
|
||||||
style = doc.readString("$.style"),
|
style = doc.readString("$.style"),
|
||||||
|
injectJs = doc.readString("$.injectJs"),
|
||||||
enableJs = doc.readBool("$.enableJs") ?: true,
|
enableJs = doc.readBool("$.enableJs") ?: true,
|
||||||
loadWithBaseUrl = doc.readBool("$.loadWithBaseUrl") ?: true,
|
loadWithBaseUrl = doc.readBool("$.loadWithBaseUrl") ?: true,
|
||||||
enabledCookieJar = doc.readBool("$.enabledCookieJar") ?: false,
|
enabledCookieJar = doc.readBool("$.enabledCookieJar") ?: false,
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import io.legado.app.ui.qrcode.QrCodeResult
|
|||||||
import io.legado.app.ui.widget.dialog.TextDialog
|
import io.legado.app.ui.widget.dialog.TextDialog
|
||||||
import io.legado.app.ui.widget.dialog.UrlOptionDialog
|
import io.legado.app.ui.widget.dialog.UrlOptionDialog
|
||||||
import io.legado.app.ui.widget.keyboard.KeyboardToolPop
|
import io.legado.app.ui.widget.keyboard.KeyboardToolPop
|
||||||
|
import io.legado.app.ui.widget.text.EditEntity
|
||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import io.legado.app.help.config.AppConfig
|
|||||||
import io.legado.app.ui.widget.code.addJsPattern
|
import io.legado.app.ui.widget.code.addJsPattern
|
||||||
import io.legado.app.ui.widget.code.addJsonPattern
|
import io.legado.app.ui.widget.code.addJsonPattern
|
||||||
import io.legado.app.ui.widget.code.addLegadoPattern
|
import io.legado.app.ui.widget.code.addLegadoPattern
|
||||||
|
import io.legado.app.ui.widget.text.EditEntity
|
||||||
|
|
||||||
class BookSourceEditAdapter : RecyclerView.Adapter<BookSourceEditAdapter.MyViewHolder>() {
|
class BookSourceEditAdapter : RecyclerView.Adapter<BookSourceEditAdapter.MyViewHolder>() {
|
||||||
|
|
||||||
@@ -70,7 +71,7 @@ class BookSourceEditAdapter : RecyclerView.Adapter<BookSourceEditAdapter.MyViewH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
editText.setText(editEntity.value)
|
editText.setText(editEntity.value)
|
||||||
textInputLayout.hint = itemView.context.getString(editEntity.hint)
|
textInputLayout.hint = editEntity.hint
|
||||||
val textWatcher = object : TextWatcher {
|
val textWatcher = object : TextWatcher {
|
||||||
override fun beforeTextChanged(
|
override fun beforeTextChanged(
|
||||||
s: CharSequence,
|
s: CharSequence,
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
package io.legado.app.ui.book.source.edit
|
|
||||||
|
|
||||||
data class EditEntity(var key: String, var value: String?, var hint: Int)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
package io.legado.app.ui.rss.source.edit
|
|
||||||
|
|
||||||
data class EditEntity(var key: String, var value: String?, var hint: Int)
|
|
||||||
@@ -22,6 +22,7 @@ import io.legado.app.ui.rss.source.debug.RssSourceDebugActivity
|
|||||||
import io.legado.app.ui.widget.dialog.TextDialog
|
import io.legado.app.ui.widget.dialog.TextDialog
|
||||||
import io.legado.app.ui.widget.dialog.UrlOptionDialog
|
import io.legado.app.ui.widget.dialog.UrlOptionDialog
|
||||||
import io.legado.app.ui.widget.keyboard.KeyboardToolPop
|
import io.legado.app.ui.widget.keyboard.KeyboardToolPop
|
||||||
|
import io.legado.app.ui.widget.text.EditEntity
|
||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
|
|
||||||
@@ -183,6 +184,7 @@ class RssSourceEditActivity :
|
|||||||
add(EditEntity("ruleLink", source?.ruleLink, R.string.r_link))
|
add(EditEntity("ruleLink", source?.ruleLink, R.string.r_link))
|
||||||
add(EditEntity("ruleContent", source?.ruleContent, R.string.r_content))
|
add(EditEntity("ruleContent", source?.ruleContent, R.string.r_content))
|
||||||
add(EditEntity("style", source?.style, R.string.r_style))
|
add(EditEntity("style", source?.style, R.string.r_style))
|
||||||
|
add(EditEntity("injectJs", source?.injectJs, R.string.r_inject_js))
|
||||||
}
|
}
|
||||||
adapter.editEntities = sourceEntities
|
adapter.editEntities = sourceEntities
|
||||||
}
|
}
|
||||||
@@ -225,6 +227,7 @@ class RssSourceEditActivity :
|
|||||||
"ruleContent" -> source.ruleContent =
|
"ruleContent" -> source.ruleContent =
|
||||||
viewModel.ruleComplete(it.value, source.ruleArticles)
|
viewModel.ruleComplete(it.value, source.ruleArticles)
|
||||||
"style" -> source.style = it.value
|
"style" -> source.style = it.value
|
||||||
|
"injectJs" -> source.injectJs = it.value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return source
|
return source
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import io.legado.app.help.config.AppConfig
|
|||||||
import io.legado.app.ui.widget.code.addJsPattern
|
import io.legado.app.ui.widget.code.addJsPattern
|
||||||
import io.legado.app.ui.widget.code.addJsonPattern
|
import io.legado.app.ui.widget.code.addJsonPattern
|
||||||
import io.legado.app.ui.widget.code.addLegadoPattern
|
import io.legado.app.ui.widget.code.addLegadoPattern
|
||||||
|
import io.legado.app.ui.widget.text.EditEntity
|
||||||
|
|
||||||
class RssSourceEditAdapter : RecyclerView.Adapter<RssSourceEditAdapter.MyViewHolder>() {
|
class RssSourceEditAdapter : RecyclerView.Adapter<RssSourceEditAdapter.MyViewHolder>() {
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ class RssSourceEditAdapter : RecyclerView.Adapter<RssSourceEditAdapter.MyViewHol
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
editText.setText(editEntity.value)
|
editText.setText(editEntity.value)
|
||||||
textInputLayout.hint = itemView.context.getString(editEntity.hint)
|
textInputLayout.hint = editEntity.hint
|
||||||
val textWatcher = object : TextWatcher {
|
val textWatcher = object : TextWatcher {
|
||||||
override fun beforeTextChanged(
|
override fun beforeTextChanged(
|
||||||
s: CharSequence,
|
s: CharSequence,
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package io.legado.app.ui.widget.text
|
||||||
|
|
||||||
|
import splitties.init.appCtx
|
||||||
|
|
||||||
|
data class EditEntity(var key: String, var value: String?, var hint: String) {
|
||||||
|
|
||||||
|
constructor(key: String, value: String?, hint: Int) : this(key, value, appCtx.getString(hint))
|
||||||
|
|
||||||
|
}
|
||||||
@@ -438,6 +438,7 @@
|
|||||||
<string name="r_image">图片url规则(ruleImage)</string>
|
<string name="r_image">图片url规则(ruleImage)</string>
|
||||||
<string name="r_content">内容规则(ruleContent)</string>
|
<string name="r_content">内容规则(ruleContent)</string>
|
||||||
<string name="r_style">样式(style)</string>
|
<string name="r_style">样式(style)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="r_link">链接规则(ruleLink)</string>
|
<string name="r_link">链接规则(ruleLink)</string>
|
||||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
|
|||||||
@@ -442,6 +442,7 @@
|
|||||||
<string name="r_image">图片url规则(ruleImage)</string>
|
<string name="r_image">图片url规则(ruleImage)</string>
|
||||||
<string name="r_content">内容规则(ruleContent)</string>
|
<string name="r_content">内容规则(ruleContent)</string>
|
||||||
<string name="r_style">样式(style)</string>
|
<string name="r_style">样式(style)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="r_link">链接规则(ruleLink)</string>
|
<string name="r_link">链接规则(ruleLink)</string>
|
||||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
|
|||||||
@@ -440,6 +440,7 @@
|
|||||||
<string name="r_image">图片url规则(regraImagem)</string>
|
<string name="r_image">图片url规则(regraImagem)</string>
|
||||||
<string name="r_content">内容规则(regraConteúdo)</string>
|
<string name="r_content">内容规则(regraConteúdo)</string>
|
||||||
<string name="r_style">样式(formato)</string>
|
<string name="r_style">样式(formato)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="r_link">链接规则(regraLink)</string>
|
<string name="r_link">链接规则(regraLink)</string>
|
||||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
|
|||||||
@@ -434,6 +434,7 @@
|
|||||||
<string name="r_image">圖片 url 規則 (ruleImage)</string>
|
<string name="r_image">圖片 url 規則 (ruleImage)</string>
|
||||||
<string name="r_content">內容規則 (ruleContent)</string>
|
<string name="r_content">內容規則 (ruleContent)</string>
|
||||||
<string name="r_style">樣式 (style)</string>
|
<string name="r_style">樣式 (style)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="r_link">鏈接規則 (ruleLink)</string>
|
<string name="r_link">鏈接規則 (ruleLink)</string>
|
||||||
<string name="check_key_word">校驗關鍵字(checkKeyWord)</string>
|
<string name="check_key_word">校驗關鍵字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
|
|||||||
@@ -441,6 +441,7 @@
|
|||||||
<string name="r_image">圖片url規則(ruleImage)</string>
|
<string name="r_image">圖片url規則(ruleImage)</string>
|
||||||
<string name="r_content">內容規則(ruleContent)</string>
|
<string name="r_content">內容規則(ruleContent)</string>
|
||||||
<string name="r_style">樣式(style)</string>
|
<string name="r_style">樣式(style)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="r_link">連結規則(ruleLink)</string>
|
<string name="r_link">連結規則(ruleLink)</string>
|
||||||
<string name="check_key_word">校驗關鍵字(checkKeyWord)</string>
|
<string name="check_key_word">校驗關鍵字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
|
|||||||
@@ -441,6 +441,7 @@
|
|||||||
<string name="r_image">图片 URL 规则(ruleImage)</string>
|
<string name="r_image">图片 URL 规则(ruleImage)</string>
|
||||||
<string name="r_content">内容规则(ruleContent)</string>
|
<string name="r_content">内容规则(ruleContent)</string>
|
||||||
<string name="r_style">样式(style)</string>
|
<string name="r_style">样式(style)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="r_link">链接规则(ruleLink)</string>
|
<string name="r_link">链接规则(ruleLink)</string>
|
||||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
|
|||||||
@@ -443,6 +443,7 @@
|
|||||||
<string name="r_content">内容规则(ruleContent)</string>
|
<string name="r_content">内容规则(ruleContent)</string>
|
||||||
<string name="r_style">样式(style)</string>
|
<string name="r_style">样式(style)</string>
|
||||||
<string name="r_link">链接规则(ruleLink)</string>
|
<string name="r_link">链接规则(ruleLink)</string>
|
||||||
|
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||||
<string name="rule_actions">操作(actions)</string>
|
<string name="rule_actions">操作(actions)</string>
|
||||||
<string name="rule_is_pay">购买标识(isPay)</string>
|
<string name="rule_is_pay">购买标识(isPay)</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user