优化
This commit is contained in:
@@ -15,6 +15,7 @@ import io.legado.app.data.entities.rule.RowUi
|
|||||||
import io.legado.app.databinding.DialogLoginBinding
|
import io.legado.app.databinding.DialogLoginBinding
|
||||||
import io.legado.app.databinding.ItemFilletTextBinding
|
import io.legado.app.databinding.ItemFilletTextBinding
|
||||||
import io.legado.app.databinding.ItemSourceEditBinding
|
import io.legado.app.databinding.ItemSourceEditBinding
|
||||||
|
import io.legado.app.help.coroutine.Coroutine
|
||||||
import io.legado.app.lib.dialogs.alert
|
import io.legado.app.lib.dialogs.alert
|
||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.ui.about.AppLogDialog
|
import io.legado.app.ui.about.AppLogDialog
|
||||||
@@ -77,22 +78,24 @@ class SourceLoginDialog : BaseDialogFragment(R.layout.dialog_login, true) {
|
|||||||
it.textView.text = rowUi.name
|
it.textView.text = rowUi.name
|
||||||
it.textView.setPadding(16.dpToPx())
|
it.textView.setPadding(16.dpToPx())
|
||||||
it.root.onClick {
|
it.root.onClick {
|
||||||
if (rowUi.action.isAbsUrl()) {
|
Coroutine.async {
|
||||||
context?.openUrl(rowUi.action!!)
|
if (rowUi.action.isAbsUrl()) {
|
||||||
} else {
|
context?.openUrl(rowUi.action!!)
|
||||||
// JavaScript
|
} else {
|
||||||
rowUi.action?.let { buttonFunctionJS ->
|
// JavaScript
|
||||||
kotlin.runCatching {
|
rowUi.action?.let { buttonFunctionJS ->
|
||||||
source.getLoginJs()?.let { loginJS ->
|
kotlin.runCatching {
|
||||||
source.evalJS("$loginJS\n$buttonFunctionJS") {
|
source.getLoginJs()?.let { loginJS ->
|
||||||
put("result", getLoginData(loginUi))
|
source.evalJS("$loginJS\n$buttonFunctionJS") {
|
||||||
|
put("result", getLoginData(loginUi))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}.onFailure { e ->
|
||||||
|
AppLog.put(
|
||||||
|
"LoginUI Button ${rowUi.name} JavaScript error",
|
||||||
|
e
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}.onFailure { e ->
|
|
||||||
AppLog.put(
|
|
||||||
"LoginUI Button ${rowUi.name} JavaScript error",
|
|
||||||
e
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user