mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
Some checks failed
Test Build / prepare (push) Waiting to run
Test Build / build (app, release) (push) Blocked by required conditions
Test Build / build (app, releaseA) (push) Blocked by required conditions
Test Build / prerelease (push) Blocked by required conditions
Test Build / lanzou (push) Blocked by required conditions
Test Build / test_Branch (push) Blocked by required conditions
Test Build / telegram (push) Blocked by required conditions
closeStaleIssue / stale (push) Has been cancelled
Some checks failed
Test Build / prepare (push) Waiting to run
Test Build / build (app, release) (push) Blocked by required conditions
Test Build / build (app, releaseA) (push) Blocked by required conditions
Test Build / prerelease (push) Blocked by required conditions
Test Build / lanzou (push) Blocked by required conditions
Test Build / test_Branch (push) Blocked by required conditions
Test Build / telegram (push) Blocked by required conditions
closeStaleIssue / stale (push) Has been cancelled
This commit is contained in:
@@ -28,7 +28,7 @@ import io.legado.app.utils.getFile
|
||||
import io.legado.app.utils.isContentScheme
|
||||
import io.legado.app.utils.onEachParallel
|
||||
import io.legado.app.utils.postEvent
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.coroutines.ensureActive
|
||||
|
||||
@@ -12,7 +12,7 @@ import io.legado.app.exception.NoStackTraceException
|
||||
import io.legado.app.model.ReadManga
|
||||
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
||||
import io.legado.app.utils.ImageUtils
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import kotlinx.coroutines.Job
|
||||
import java.io.InputStream
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import io.legado.app.help.source.SourceHelp
|
||||
import io.legado.app.model.ReadManga
|
||||
import io.legado.app.utils.ImageUtils
|
||||
import io.legado.app.utils.isWifiConnect
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import kotlinx.coroutines.Job
|
||||
import okhttp3.Call
|
||||
import okhttp3.Request
|
||||
@@ -63,8 +63,10 @@ class OkHttpStreamFetcher(
|
||||
val headerMap = HashMap<String, String>()
|
||||
options.get(OkHttpModelLoader.sourceOriginOption)?.let { sourceUrl ->
|
||||
source = SourceHelp.getSource(sourceUrl)
|
||||
source?.getHeaderMap(true)?.let {
|
||||
headerMap.putAll(it)
|
||||
runScriptWithContext(coroutineContext) {
|
||||
source?.getHeaderMap(true)?.let {
|
||||
headerMap.putAll(it)
|
||||
}
|
||||
}
|
||||
if (source?.enabledCookieJar == true) {
|
||||
headerMap[cookieJarHeader] = "1"
|
||||
|
||||
@@ -11,7 +11,7 @@ import io.legado.app.utils.MD5Utils
|
||||
import io.legado.app.utils.fromJsonArray
|
||||
import io.legado.app.utils.isJsonArray
|
||||
import io.legado.app.utils.printOnDebug
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
|
||||
@@ -4,7 +4,7 @@ import io.legado.app.data.entities.RssSource
|
||||
import io.legado.app.utils.ACache
|
||||
import io.legado.app.utils.MD5Utils
|
||||
import io.legado.app.utils.NetworkUtils
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ import io.legado.app.utils.isJson
|
||||
import io.legado.app.utils.isJsonArray
|
||||
import io.legado.app.utils.isJsonObject
|
||||
import io.legado.app.utils.isXml
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import io.legado.app.utils.splitNotBlank
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import okhttp3.MediaType.Companion.toMediaType
|
||||
|
||||
@@ -1296,9 +1296,11 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
}.onSuccess(IO) {
|
||||
if (it.isAbsUrl()) {
|
||||
startActivity<WebViewActivity> {
|
||||
val bookSource = ReadBook.bookSource
|
||||
putExtra("title", getString(R.string.chapter_pay))
|
||||
putExtra("url", it)
|
||||
putExtra("sourceOrigin", ReadBook.bookSource?.bookSourceUrl)
|
||||
putExtra("sourceOrigin", bookSource?.bookSourceUrl)
|
||||
putExtra("sourceName", bookSource?.bookSourceName)
|
||||
}
|
||||
} else if (it.isTrue()) {
|
||||
//购买成功后刷新目录
|
||||
|
||||
@@ -25,7 +25,7 @@ import io.legado.app.utils.dpToPx
|
||||
import io.legado.app.utils.isAbsUrl
|
||||
import io.legado.app.utils.openUrl
|
||||
import io.legado.app.utils.printOnDebug
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import io.legado.app.utils.setLayout
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.toastOnUi
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.legado.app.base.BaseViewModel
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.data.entities.BaseSource
|
||||
import io.legado.app.exception.NoStackTraceException
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import io.legado.app.utils.toastOnUi
|
||||
|
||||
class SourceLoginViewModel(application: Application) : BaseViewModel(application) {
|
||||
|
||||
@@ -16,7 +16,6 @@ import android.webkit.WebSettings
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseFragment
|
||||
import io.legado.app.constant.AppConst
|
||||
@@ -30,7 +29,6 @@ import io.legado.app.utils.longSnackbar
|
||||
import io.legado.app.utils.openUrl
|
||||
import io.legado.app.utils.snackbar
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class WebViewLoginFragment : BaseFragment(R.layout.fragment_web_view_login) {
|
||||
|
||||
@@ -146,11 +144,9 @@ class WebViewLoginFragment : BaseFragment(R.layout.fragment_web_view_login) {
|
||||
}
|
||||
|
||||
private fun loadUrl(source: BaseSource) {
|
||||
lifecycleScope.launch {
|
||||
val loginUrl = source.loginUrl ?: return@launch
|
||||
val absoluteUrl = NetworkUtils.getAbsoluteURL(source.getKey(), loginUrl)
|
||||
binding.webView.loadUrl(absoluteUrl, viewModel.headerMap)
|
||||
}
|
||||
val loginUrl = source.loginUrl ?: return
|
||||
val absoluteUrl = NetworkUtils.getAbsoluteURL(source.getKey(), loginUrl)
|
||||
binding.webView.loadUrl(absoluteUrl, viewModel.headerMap)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.app.Application
|
||||
import io.legado.app.base.BaseViewModel
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.data.entities.RssSource
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import io.legado.app.utils.toastOnUi
|
||||
|
||||
class RssViewModel(application: Application) : BaseViewModel(application) {
|
||||
|
||||
@@ -21,7 +21,7 @@ import io.legado.app.help.http.newCallResponseBody
|
||||
import io.legado.app.help.http.okHttpClient
|
||||
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
||||
import io.legado.app.model.rss.Rss
|
||||
import io.legado.app.utils.runScriptWithContext
|
||||
import com.script.rhino.runScriptWithContext
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.writeBytes
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package io.legado.app.utils
|
||||
package com.script.rhino
|
||||
|
||||
import com.script.rhino.RhinoContext
|
||||
import com.script.rhino.RhinoScriptEngine
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.supervisorScope
|
||||
|
||||
Reference in New Issue
Block a user