优化
This commit is contained in:
@@ -855,7 +855,7 @@ interface JsExtensions : JsEncodeUtils {
|
|||||||
getSource()?.let {
|
getSource()?.let {
|
||||||
Debug.log(it.getKey(), msg.toString())
|
Debug.log(it.getKey(), msg.toString())
|
||||||
} ?: Debug.log(msg.toString())
|
} ?: Debug.log(msg.toString())
|
||||||
AppLog.putDebug("书源调试输出:$msg")
|
AppLog.putDebug("源调试输出:$msg")
|
||||||
return msg
|
return msg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,18 +16,15 @@ import io.legado.app.base.VMBaseActivity
|
|||||||
import io.legado.app.constant.AppConst
|
import io.legado.app.constant.AppConst
|
||||||
import io.legado.app.constant.AppConst.imagePathKey
|
import io.legado.app.constant.AppConst.imagePathKey
|
||||||
import io.legado.app.constant.AppLog
|
import io.legado.app.constant.AppLog
|
||||||
import io.legado.app.data.entities.BaseSource
|
import io.legado.app.data.entities.RssSource
|
||||||
import io.legado.app.databinding.ActivityRssReadBinding
|
import io.legado.app.databinding.ActivityRssReadBinding
|
||||||
import io.legado.app.help.JsExtensions
|
|
||||||
import io.legado.app.help.config.AppConfig
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.lib.dialogs.SelectItem
|
import io.legado.app.lib.dialogs.SelectItem
|
||||||
import io.legado.app.lib.dialogs.selector
|
import io.legado.app.lib.dialogs.selector
|
||||||
import io.legado.app.lib.theme.accentColor
|
import io.legado.app.lib.theme.accentColor
|
||||||
import io.legado.app.lib.theme.primaryTextColor
|
import io.legado.app.lib.theme.primaryTextColor
|
||||||
import io.legado.app.model.Download
|
import io.legado.app.model.Download
|
||||||
import io.legado.app.ui.association.AddToBookshelfDialog
|
|
||||||
import io.legado.app.ui.association.OnLineImportActivity
|
import io.legado.app.ui.association.OnLineImportActivity
|
||||||
import io.legado.app.ui.book.search.SearchActivity
|
|
||||||
import io.legado.app.ui.file.HandleFileContract
|
import io.legado.app.ui.file.HandleFileContract
|
||||||
import io.legado.app.ui.login.SourceLoginActivity
|
import io.legado.app.ui.login.SourceLoginActivity
|
||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
@@ -55,7 +52,11 @@ class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>
|
|||||||
viewModel.saveImage(it.value, uri)
|
viewModel.saveImage(it.value, uri)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private val rssJsExtensions by lazy { RssJsExtensions() }
|
private val rssJsExtensions by lazy { RssJsExtensions(this) }
|
||||||
|
|
||||||
|
fun getSource(): RssSource? {
|
||||||
|
return viewModel.rssSource
|
||||||
|
}
|
||||||
|
|
||||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||||
viewModel.upStarMenuData.observe(this) { upStarMenu() }
|
viewModel.upStarMenuData.observe(this) { upStarMenu() }
|
||||||
@@ -453,21 +454,4 @@ class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("unused")
|
|
||||||
private inner class RssJsExtensions : JsExtensions {
|
|
||||||
|
|
||||||
override fun getSource(): BaseSource? {
|
|
||||||
return viewModel.rssSource
|
|
||||||
}
|
|
||||||
|
|
||||||
fun searchBook(key: String) {
|
|
||||||
SearchActivity.start(this@ReadRssActivity, key)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun addBook(bookUrl: String) {
|
|
||||||
showDialogFragment(AddToBookshelfDialog(bookUrl))
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package io.legado.app.ui.rss.read
|
||||||
|
|
||||||
|
import io.legado.app.data.entities.BaseSource
|
||||||
|
import io.legado.app.help.JsExtensions
|
||||||
|
import io.legado.app.ui.association.AddToBookshelfDialog
|
||||||
|
import io.legado.app.ui.book.search.SearchActivity
|
||||||
|
import io.legado.app.utils.showDialogFragment
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
|
class RssJsExtensions(private val activity: ReadRssActivity) : JsExtensions {
|
||||||
|
|
||||||
|
override fun getSource(): BaseSource? {
|
||||||
|
return activity.getSource()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun searchBook(key: String) {
|
||||||
|
SearchActivity.start(activity, key)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun addBook(bookUrl: String) {
|
||||||
|
activity.showDialogFragment(AddToBookshelfDialog(bookUrl))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,6 +7,9 @@ import java.net.URLDecoder
|
|||||||
class JsURL(url: String, baseUrl: String? = null) {
|
class JsURL(url: String, baseUrl: String? = null) {
|
||||||
|
|
||||||
val searchParams: Map<String, String>?
|
val searchParams: Map<String, String>?
|
||||||
|
val host: String
|
||||||
|
val origin: String
|
||||||
|
val pathname: String
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val mUrl = if (!baseUrl.isNullOrEmpty()) {
|
val mUrl = if (!baseUrl.isNullOrEmpty()) {
|
||||||
@@ -15,6 +18,13 @@ class JsURL(url: String, baseUrl: String? = null) {
|
|||||||
} else {
|
} else {
|
||||||
URL(url)
|
URL(url)
|
||||||
}
|
}
|
||||||
|
host = mUrl.host
|
||||||
|
origin = if (mUrl.port > 0) {
|
||||||
|
"${mUrl.protocol}://$host:${mUrl}:${mUrl.port}"
|
||||||
|
} else {
|
||||||
|
"${mUrl.protocol}://$host:${mUrl}"
|
||||||
|
}
|
||||||
|
pathname = mUrl.path
|
||||||
val query = mUrl.query
|
val query = mUrl.query
|
||||||
searchParams = query?.let { query ->
|
searchParams = query?.let { query ->
|
||||||
val map = hashMapOf<String, String>()
|
val map = hashMapOf<String, String>()
|
||||||
|
|||||||
Reference in New Issue
Block a user