Horis hace 1 año
padre
commit
84fc881631

+ 1 - 1
app/src/main/java/io/legado/app/help/book/BookHelp.kt

@@ -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

+ 1 - 1
app/src/main/java/io/legado/app/help/glide/LegadoDataUrlLoader.kt

@@ -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
 

+ 5 - 3
app/src/main/java/io/legado/app/help/glide/OkHttpStreamFetcher.kt

@@ -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"

+ 1 - 1
app/src/main/java/io/legado/app/help/source/BookSourceExtensions.kt

@@ -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

+ 1 - 1
app/src/main/java/io/legado/app/help/source/RssSourceExtensions.kt

@@ -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
 

+ 1 - 1
app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt

@@ -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

+ 3 - 1
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -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()) {
                         //购买成功后刷新目录

+ 1 - 1
app/src/main/java/io/legado/app/ui/login/SourceLoginDialog.kt

@@ -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

+ 1 - 1
app/src/main/java/io/legado/app/ui/login/SourceLoginViewModel.kt

@@ -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) {

+ 3 - 7
app/src/main/java/io/legado/app/ui/login/WebViewLoginFragment.kt

@@ -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() {

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/rss/RssViewModel.kt

@@ -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) {

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/read/ReadRssViewModel.kt

@@ -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 - 3
modules/rhino/src/main/java/com/script/rhino/RhinoExtensions.kt

@@ -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