diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index bf2bb41..eb20a8e 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,7 +4,7 @@
diff --git a/app/build.gradle b/app/build.gradle
index 98d12d4..99ba574 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -124,6 +124,10 @@ android {
targetCompatibility JavaVersion.VERSION_1_8
}
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+
productFlavors {
}
packagingOptions {
@@ -242,6 +246,14 @@ dependencies {
// https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j
implementation group: 'net.lingala.zip4j', name: 'zip4j', version: '2.9.1'
+
+ //协程
+ def coroutines_version = '1.5.1'
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version")
+
+ //apache
+ implementation('org.apache.commons:commons-text:1.9')
}
greendao {
diff --git a/app/src/main/java/xyz/fycz/myreader/common/APPCONST.java b/app/src/main/java/xyz/fycz/myreader/common/APPCONST.java
index 5077c34..8ba6f3c 100644
--- a/app/src/main/java/xyz/fycz/myreader/common/APPCONST.java
+++ b/app/src/main/java/xyz/fycz/myreader/common/APPCONST.java
@@ -132,4 +132,5 @@ public class APPCONST {
public static final String DEFAULT_USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4168.3 Safari/537.36";
+ public static final String UA_NAME = "User-Agent";
}
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeRule.java b/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeRule.java
index 2cf42c8..982e878 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeRule.java
+++ b/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeRule.java
@@ -20,7 +20,6 @@ import javax.script.SimpleBindings;
import xyz.fycz.myreader.greendao.entity.Book;
import xyz.fycz.myreader.greendao.service.CookieStore;
import xyz.fycz.myreader.util.help.StringHelper;
-import xyz.fycz.myreader.util.help.JsExtensions;
import xyz.fycz.myreader.util.utils.NetworkUtils;
import xyz.fycz.myreader.util.utils.StringUtils;
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeUrl.java b/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeUrl.java
index 2bd7c25..bcbb28e 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeUrl.java
+++ b/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/AnalyzeUrl.java
@@ -20,7 +20,6 @@ import java.util.regex.Pattern;
import javax.script.SimpleBindings;
import xyz.fycz.myreader.util.help.StringHelper;
-import xyz.fycz.myreader.util.help.JsExtensions;
import xyz.fycz.myreader.util.utils.NetworkUtils;
import xyz.fycz.myreader.util.utils.StringUtils;
import xyz.fycz.myreader.util.utils.UrlEncoderUtils;
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/JsExtensions.java b/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/JsExtensions.java
index 7b8a674..e4f516d 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/JsExtensions.java
+++ b/app/src/main/java/xyz/fycz/myreader/model/third2/analyzeRule/JsExtensions.java
@@ -1,4 +1,4 @@
-package xyz.fycz.myreader.util.help;
+package xyz.fycz.myreader.model.third2.analyzeRule;
import android.text.TextUtils;
@@ -23,10 +23,9 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import xyz.fycz.myreader.greendao.service.CookieStore;
-import xyz.fycz.myreader.model.third2.analyzeRule.AnalyzeUrl;
import xyz.fycz.myreader.util.ZipUtils;
+import xyz.fycz.myreader.util.help.SSLSocketClient;
import xyz.fycz.myreader.util.utils.EncoderUtils;
-import xyz.fycz.myreader.util.utils.EncodingDetect;
import xyz.fycz.myreader.util.utils.FileUtils;
import xyz.fycz.myreader.util.utils.MD5Utils;
import xyz.fycz.myreader.util.utils.OkHttpUtils;
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/Exceptions.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/Exceptions.kt
index 01a0026..072be6c 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/Exceptions.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/Exceptions.kt
@@ -1,6 +1,6 @@
@file:Suppress("unused")
-package io.legado.app.model
+package xyz.fycz.myreader.model.third3
class AppException(msg: String) : Exception(msg)
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSonPath.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSonPath.kt
index 0846245..0f920b0 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSonPath.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSonPath.kt
@@ -1,16 +1,18 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
+import android.util.Log
import androidx.annotation.Keep
import com.jayway.jsonpath.JsonPath
import com.jayway.jsonpath.ReadContext
-import timber.log.Timber
import java.util.*
@Suppress("RegExpRedundantEscape")
@Keep
class AnalyzeByJSonPath(json: Any) {
+ private val TAG = AnalyzeByJSonPath::class.simpleName
+
companion object {
fun parse(json: Any): ReadContext {
@@ -50,7 +52,7 @@ class AnalyzeByJSonPath(json: Any) {
ob.toString()
}
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
}
}
return result
@@ -87,7 +89,7 @@ class AnalyzeByJSonPath(json: Any) {
result.add(obj.toString())
}
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
}
} else {
result.add(st)
@@ -137,7 +139,7 @@ class AnalyzeByJSonPath(json: Any) {
try {
return it.read>(rules[0])
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
}
}
} else {
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSoup.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSoup.kt
index 45ea15c..f17c06c 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSoup.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByJSoup.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
import androidx.annotation.Keep
import org.jsoup.Jsoup
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByRegex.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByRegex.kt
index 05851b4..5a72958 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByRegex.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByRegex.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
import androidx.annotation.Keep
import java.util.*
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByXPath.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByXPath.kt
index a67d934..e7b7ff2 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByXPath.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeByXPath.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
import android.text.TextUtils
import androidx.annotation.Keep
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeRule.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeRule.kt
index 1e1b879..f884665 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeRule.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeRule.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
import android.text.TextUtils
import androidx.annotation.Keep
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeUrl.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeUrl.kt
index 81b11e5..b66afa6 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeUrl.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/AnalyzeUrl.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
import android.annotation.SuppressLint
import androidx.annotation.Keep
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt
index 0897a59..83f0657 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/JsExtensions.kt
@@ -1,24 +1,20 @@
-package io.legado.app.help
+package xyz.fycz.myreader.model.third3.analyzeRule
import android.net.Uri
import android.util.Base64
+import android.util.Log
import androidx.annotation.Keep
-import io.legado.app.BuildConfig
-import io.legado.app.constant.AppConst
-import io.legado.app.constant.AppConst.dateFormat
-import io.legado.app.data.entities.BaseSource
import io.legado.app.help.http.*
-import io.legado.app.model.Debug
-import io.legado.app.model.analyzeRule.AnalyzeUrl
-import io.legado.app.model.analyzeRule.QueryTTF
-import io.legado.app.utils.*
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.async
import kotlinx.coroutines.runBlocking
+import nl.siegmann.epublib.epub.PackageDocumentBase.dateFormat
import org.jsoup.Connection
import org.jsoup.Jsoup
-import splitties.init.appCtx
-import timber.log.Timber
+import xyz.fycz.myreader.greendao.entity.rule.BookSource
+import xyz.fycz.myreader.greendao.service.CookieStore
+import xyz.fycz.myreader.util.ZipUtils
+import xyz.fycz.myreader.util.utils.*
import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream
import java.io.File
@@ -38,7 +34,10 @@ import java.util.zip.ZipInputStream
@Suppress("unused")
interface JsExtensions {
- fun getSource(): BaseSource?
+ private val TAG: String?
+ get() = JsExtensions::class.simpleName
+
+ fun getSource(): BookSource?
/**
* 访问网络,返回String
@@ -50,9 +49,9 @@ interface JsExtensions {
analyzeUrl.getStrResponseAwait().body
}.onFailure {
log("ajax(${urlStr}) error\n${it.stackTraceToString()}")
- Timber.e(it)
+ Log.e(TAG, it.toString())
}.getOrElse {
- it.msg
+ it.message
}
}
}
@@ -86,7 +85,7 @@ interface JsExtensions {
analyzeUrl.getStrResponseAwait()
}.onFailure {
log("connect(${urlStr}) error\n${it.stackTraceToString()}")
- Timber.e(it)
+ Log.e(TAG, it.toString())
}.getOrElse {
StrResponse(analyzeUrl.url, it.localizedMessage)
}
@@ -101,7 +100,7 @@ interface JsExtensions {
analyzeUrl.getStrResponseAwait()
}.onFailure {
log("ajax($urlStr,$header) error\n${it.stackTraceToString()}")
- Timber.e(it)
+ Log.e(TAG, it.toString())
}.getOrElse {
StrResponse(analyzeUrl.url, it.localizedMessage)
}
@@ -134,11 +133,11 @@ interface JsExtensions {
fun downloadFile(content: String, url: String): String {
val type = AnalyzeUrl(url, source = getSource()).type ?: return ""
val zipPath = FileUtils.getPath(
- FileUtils.createFolderIfNotExist(FileUtils.getCachePath()),
+ FileUtils.getFile(FileUtils.getCachePath()),
"${MD5Utils.md5Encode16(url)}.${type}"
)
FileUtils.deleteFile(zipPath)
- val zipFile = FileUtils.createFileIfNotExist(zipPath)
+ val zipFile = FileUtils.getFile(zipPath)
StringUtils.hexStringToByte(content).let {
if (it.isNotEmpty()) {
zipFile.writeBytes(it)
@@ -303,7 +302,7 @@ interface JsExtensions {
fun readTxtFile(path: String): String {
val file = getFile(path)
if (file.exists()) {
- val charsetName = EncodingDetect.getEncode(file)
+ val charsetName = EncodingDetect.getJavaEncode(file)
return String(file.readBytes(), charset(charsetName))
}
return ""
@@ -321,8 +320,7 @@ interface JsExtensions {
* 删除本地文件
*/
fun deleteFile(path: String) {
- val file = getFile(path)
- FileUtils.delete(file, true)
+ FileUtils.deleteFile(path)
}
/**
@@ -332,16 +330,13 @@ interface JsExtensions {
*/
fun unzipFile(zipPath: String): String {
if (zipPath.isEmpty()) return ""
- val unzipPath = FileUtils.getPath(
- FileUtils.createFolderIfNotExist(FileUtils.getCachePath()),
- FileUtils.getNameExcludeExtension(zipPath)
- )
+ val unzipPath = FileUtils.getCachePath() + File.separator + FileUtils.getNameExcludeExtension(zipPath)
FileUtils.deleteFile(unzipPath)
- val zipFile = getFile(zipPath)
- val unzipFolder = FileUtils.createFolderIfNotExist(unzipPath)
+ val zipFile = FileUtils.getFile(zipPath)
+ val unzipFolder = FileUtils.getFolder(unzipPath)
ZipUtils.unzipFile(zipFile, unzipFolder)
- FileUtils.deleteFile(zipFile.absolutePath)
- return unzipPath.substring(FileUtils.getCachePath().length)
+ FileUtils.deleteFile(zipPath)
+ return unzipPath
}
/**
@@ -354,7 +349,7 @@ interface JsExtensions {
unzipFolder.listFiles().let {
if (it != null) {
for (f in it) {
- val charsetName = EncodingDetect.getEncode(f)
+ val charsetName = EncodingDetect.getJavaEncode(f)
contents.append(String(f.readBytes(), charset(charsetName)))
.append("\n")
}
@@ -373,7 +368,7 @@ interface JsExtensions {
*/
fun getZipStringContent(url: String, path: String): String {
val byteArray = getZipByteArrayContent(url, path) ?: return ""
- val charsetName = EncodingDetect.getEncode(byteArray)
+ val charsetName = EncodingDetect.getJavaEncode(byteArray)
return String(byteArray, Charset.forName(charsetName))
}
@@ -485,7 +480,7 @@ interface JsExtensions {
Debug.log(it.getKey(), msg)
} ?: Debug.log(msg)
if (BuildConfig.DEBUG) {
- Timber.d(msg)
+ Log.e(TAG, msg)
}
return msg
}
@@ -515,7 +510,7 @@ interface JsExtensions {
iv.encodeToByteArray()
)
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
log(e.localizedMessage ?: "aesDecodeToByteArrayERROR")
null
}
@@ -554,7 +549,7 @@ interface JsExtensions {
iv.encodeToByteArray()
)
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, r.toString())
log(e.localizedMessage ?: "aesDecodeToByteArrayERROR")
null
}
@@ -592,7 +587,7 @@ interface JsExtensions {
iv.encodeToByteArray()
)
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
log(e.localizedMessage ?: "aesEncodeToByteArrayERROR")
null
}
@@ -629,7 +624,7 @@ interface JsExtensions {
iv.encodeToByteArray()
)
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
log(e.localizedMessage ?: "aesEncodeToBase64ByteArrayERROR")
null
}
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/QueryTTF.java b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/QueryTTF.java
index dc35a78..3037e37 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/QueryTTF.java
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/QueryTTF.java
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule;
+package xyz.fycz.myreader.model.third3.analyzeRule;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleAnalyzer.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleAnalyzer.kt
index 5fd91e1..0392553 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleAnalyzer.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleAnalyzer.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
//通用的规则切分处理
class RuleAnalyzer(data: String, code: Boolean = false) {
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleData.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleData.kt
index 3752ac1..ac7e4ff 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleData.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleData.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
class RuleData : RuleDataInterface {
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleDataInterface.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleDataInterface.kt
index 8b87f94..e866cfa 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleDataInterface.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/analyzeRule/RuleDataInterface.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.analyzeRule
+package xyz.fycz.myreader.model.third3.analyzeRule
interface RuleDataInterface {
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/http/BackstageWebView.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/http/BackstageWebView.kt
index 914b940..dc4ce1d 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/http/BackstageWebView.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/http/BackstageWebView.kt
@@ -8,12 +8,12 @@ import android.webkit.CookieManager
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
-import io.legado.app.constant.AppConst
-import io.legado.app.model.NoStackTraceException
-import io.legado.app.utils.runOnUI
import kotlinx.coroutines.*
import org.apache.commons.text.StringEscapeUtils
-import splitties.init.appCtx
+import xyz.fycz.myreader.application.App
+import xyz.fycz.myreader.common.APPCONST
+import xyz.fycz.myreader.greendao.service.CookieStore
+import xyz.fycz.myreader.model.third3.NoStackTraceException
import java.lang.ref.WeakReference
import kotlin.coroutines.resume
@@ -36,7 +36,7 @@ class BackstageWebView(
suspend fun getStrResponse(): StrResponse = suspendCancellableCoroutine { block ->
block.invokeOnCancellation {
- runOnUI {
+ App.getHandler().post {
destroy()
}
}
@@ -51,7 +51,7 @@ class BackstageWebView(
block.cancel(error)
}
}
- runOnUI {
+ App.getHandler().post {
try {
load()
} catch (error: Throwable) {
@@ -88,12 +88,12 @@ class BackstageWebView(
@SuppressLint("SetJavaScriptEnabled", "JavascriptInterface")
private fun createWebView(): WebView {
- val webView = WebView(appCtx)
+ val webView = WebView(App.getmContext())
val settings = webView.settings
settings.javaScriptEnabled = true
settings.domStorageEnabled = true
settings.blockNetworkImage = true
- settings.userAgentString = headerMap?.get(AppConst.UA_NAME)
+ settings.userAgentString = headerMap?.get(APPCONST.UA_NAME)
settings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
if (sourceRegex.isNullOrEmpty()) {
webView.webViewClient = HtmlWebViewClient()
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/http/SSLHelper.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/http/SSLHelper.kt
index ecbcc1f..55624c6 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/http/SSLHelper.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/http/SSLHelper.kt
@@ -1,8 +1,8 @@
package io.legado.app.help.http
import android.annotation.SuppressLint
+import android.util.Log
-import timber.log.Timber
import java.io.IOException
import java.io.InputStream
import java.security.KeyManagementException
@@ -16,7 +16,7 @@ import javax.net.ssl.*
@Suppress("unused")
object SSLHelper {
-
+ private val TAG = SSLHelper::class.simpleName
/**
* 为了解决客户端不信任服务器数字证书的问题,
* 网络上大部分的解决方案都是让客户端不对证书做任何检查,
@@ -127,9 +127,9 @@ object SSLHelper {
sslParams.trustManager = manager
return sslParams
} catch (e: NoSuchAlgorithmException) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
} catch (e: KeyManagementException) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
}
return null
}
@@ -143,7 +143,7 @@ object SSLHelper {
kmf.init(clientKeyStore, password.toCharArray())
return kmf.keyManagers
} catch (e: Exception) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
}
return null
}
@@ -162,7 +162,7 @@ object SSLHelper {
try {
certStream.close()
} catch (e: IOException) {
- Timber.e(e)
+ Log.e(TAG, e.toString())
}
}
//我们创建一个默认类型的TrustManagerFactory
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookChapterList.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookChapterList.kt
index db8a7c7..a413e38 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookChapterList.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookChapterList.kt
@@ -1,16 +1,16 @@
-package io.legado.app.model.webBook
+package xyz.fycz.myreader.model.third3.webBook
import android.text.TextUtils
import io.legado.app.R
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter
import io.legado.app.data.entities.BookSource
-import io.legado.app.data.entities.rule.TocRule
+import xyz.fycz.myreader.model.third3.rule.TocRule
import io.legado.app.model.Debug
import io.legado.app.model.NoStackTraceException
import io.legado.app.model.TocEmptyException
-import io.legado.app.model.analyzeRule.AnalyzeRule
-import io.legado.app.model.analyzeRule.AnalyzeUrl
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeRule
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeUrl
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.async
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookContent.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookContent.kt
index c51a4e4..6966017 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookContent.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookContent.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.webBook
+package xyz.fycz.myreader.model.third3.webBook
import io.legado.app.R
import io.legado.app.data.appDb
@@ -10,8 +10,8 @@ import io.legado.app.help.BookHelp
import io.legado.app.model.ContentEmptyException
import io.legado.app.model.Debug
import io.legado.app.model.NoStackTraceException
-import io.legado.app.model.analyzeRule.AnalyzeRule
-import io.legado.app.model.analyzeRule.AnalyzeUrl
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeRule
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeUrl
import io.legado.app.utils.HtmlFormatter
import io.legado.app.utils.NetworkUtils
import kotlinx.coroutines.CoroutineScope
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookInfo.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookInfo.kt
index ceb1b3b..2b67b8d 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookInfo.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookInfo.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.webBook
+package xyz.fycz.myreader.model.third3.webBook
import io.legado.app.R
import io.legado.app.data.entities.Book
@@ -6,7 +6,7 @@ import io.legado.app.data.entities.BookSource
import io.legado.app.help.BookHelp
import io.legado.app.model.Debug
import io.legado.app.model.NoStackTraceException
-import io.legado.app.model.analyzeRule.AnalyzeRule
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeRule
import io.legado.app.utils.HtmlFormatter
import io.legado.app.utils.NetworkUtils
import io.legado.app.utils.StringUtils.wordCountFormat
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookList.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookList.kt
index 8bc9dac..b8415ea 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookList.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/BookList.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.webBook
+package xyz.fycz.myreader.model.third3.webBook
import io.legado.app.R
import io.legado.app.data.entities.Book
@@ -8,8 +8,8 @@ import io.legado.app.data.entities.rule.BookListRule
import io.legado.app.help.BookHelp
import io.legado.app.model.Debug
import io.legado.app.model.NoStackTraceException
-import io.legado.app.model.analyzeRule.AnalyzeRule
-import io.legado.app.model.analyzeRule.AnalyzeUrl
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeRule
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeUrl
import io.legado.app.utils.HtmlFormatter
import io.legado.app.utils.NetworkUtils
import io.legado.app.utils.StringUtils.wordCountFormat
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/SearchModel.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/SearchModel.kt
index 97d8977..961a383 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/SearchModel.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/SearchModel.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.webBook
+package xyz.fycz.myreader.model.third3.webBook
import io.legado.app.constant.AppConst
import io.legado.app.constant.PreferKey
diff --git a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/WebBook.kt b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/WebBook.kt
index 373014f..65386d5 100644
--- a/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/WebBook.kt
+++ b/app/src/main/java/xyz/fycz/myreader/model/third3/webBook/WebBook.kt
@@ -1,4 +1,4 @@
-package io.legado.app.model.webBook
+package xyz.fycz.myreader.model.third3.webBook
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter
@@ -8,7 +8,7 @@ import io.legado.app.help.coroutine.Coroutine
import io.legado.app.help.http.StrResponse
import io.legado.app.model.Debug
import io.legado.app.model.NoStackTraceException
-import io.legado.app.model.analyzeRule.AnalyzeUrl
+import xyz.fycz.myreader.model.third3.analyzeRule.AnalyzeUrl
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.isActive