This commit is contained in:
HapeLee
2025-06-04 13:33:51 +08:00
parent b86d90021c
commit 6c0757c91b
972 changed files with 6885 additions and 7321 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ https://www.yuque.com/legado/wiki/community
* Legado 3.0 The API is provided in 2 ways: `Web way` and `Content Provider way`. You can call it yourself as needed in [here](api.md).
* One-click import by url recall reading, url format: legado://import/{path}?src={url}
* Path Type: bookSource,rssSource,replaceRule,textTocRule,httpTTS,theme,readConfig,dictRule,addToBookshelf
* path type explanation: Book source, subscription source, replacement rules, local txt novel directory rules, online reading engine, theme, reading layout, [add to bookshelf](/app/src/main/java/io/legado/app/ui/association/AddToBookshelfDialog.kt)
* path type explanation: Book source, subscription source, replacement rules, local txt novel directory rules, online reading engine, theme, reading layout, [add to bookshelf](/app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt)
<a href="#readme">
<img src="https://img.shields.io/badge/-Top-orange.svg" alt="#" align="right">
+13 -13
View File
@@ -1,6 +1,6 @@
# 阅读[API](/app/src/main/java/io/legado/app/api/controller)
# 阅读[API](/app/src/main/java/io/legato/kazusa/api/controller)
## 对于[Web](/app/src/main/java/io/legado/app/web/)的配置
## 对于[Web](/app/src/main/java/io/legato/kazusa/web/)的配置
您需要先在设置中启用"Web 服务"。
@@ -14,7 +14,7 @@
#### 插入单个书源
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)
```
URL = http://127.0.0.1:1234/saveBookSource
@@ -24,7 +24,7 @@ Method = POST
#### 插入多个书源or订阅源
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
```
URL = http://127.0.0.1:1234/saveBookSources
@@ -51,7 +51,7 @@ Method = GET
#### 删除多个书源or订阅源
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
```
URL = http://127.0.0.1:1234/deleteBookSources
@@ -79,7 +79,7 @@ Method = GET
#### 替换规则管理
请求BODY内容为`JSON`字符串,
替换规则参考[这个文件](/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt)。
替换规则参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/ReplaceRule.kt)。
##### 删除
@@ -118,7 +118,7 @@ Message = { key: [String] }
#### 插入书籍
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/Book.kt)。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/Book.kt)。
```
URL = http://127.0.0.1:1234/saveBook
@@ -176,14 +176,14 @@ Method = GET
#### 保存书籍进度
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookProgress.kt)。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookProgress.kt)。
```
URL = http://127.0.0.1:1234/saveBookProgress
Method = POST
```
### [Content Provider](/app/src/main/java/io/legado/app/api/ReaderProvider.kt)
### [Content Provider](/app/src/main/java/io/legato/kazusa/api/ReaderProvider.kt)
* 需声明`io.legado.READ_WRITE`权限
@@ -193,7 +193,7 @@ Method = POST
#### 插入单个书源or订阅源
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)
```
URL = content://providerHost/bookSource/insert
@@ -204,7 +204,7 @@ Method = insert
#### 插入多个书源or订阅源
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
```
URL = content://providerHost/bookSources/insert
@@ -237,7 +237,7 @@ Method = query
#### 删除多个书源or订阅源
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
```
URL = content://providerHost/bookSources/delete
@@ -248,7 +248,7 @@ Method = delete
#### 插入书籍
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/Book.kt)。
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/Book.kt)。
```
URL = content://providerHost/book/insert
+27 -11
View File
@@ -25,7 +25,7 @@ def gitCommits = Integer.parseInt('git rev-list HEAD --count'.execute().text.tri
android {
compileSdk = compile_sdk_version
namespace 'io.legado.app'
namespace 'io.legato.kazusa'
kotlin {
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(17))
@@ -46,9 +46,10 @@ android {
}
}
}
defaultConfig {
applicationId "io.legado.app"
minSdk 24
applicationId "io.legato.kazusa"
minSdk 21
targetSdk 35
versionCode 10000 + gitCommits
versionName version
@@ -68,21 +69,19 @@ android {
}
}
}
buildFeatures {
buildConfig true
viewBinding true
}
buildTypes {
release {
if (project.hasProperty("RELEASE_STORE_FILE")) {
signingConfig signingConfigs.myConfig
}
applicationIdSuffix '.release'
if (getApplicationIdSuffix() == '.releaseA') {
//applicationIdSuffix '.release'
manifestPlaceholders.put("app_name", "@string/app_name_a")
} else {
manifestPlaceholders.put("app_name", "@string/app_name")
}
minifyEnabled true
shrinkResources true
@@ -94,12 +93,22 @@ android {
}
manifestPlaceholders.put("app_name", "@string/app_name")
applicationIdSuffix '.debug'
//applicationIdSuffix '.debug'
versionNameSuffix 'debug'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'cronet-proguard-rules.pro'
}
}
splits {
abi {
enable true
reset()
include 'armeabi-v7a', 'arm64-v8a'
universalApk true
}
}
//noinspection GrDeprecatedAPIUsage
flavorDimensions = ['mode']
productFlavors {
@@ -110,13 +119,20 @@ android {
}
android.applicationVariants.configureEach { variant ->
variant.outputs.configureEach {
variant.outputs.configureEach { output ->
def abi = output.getFilter(com.android.build.OutputFile.ABI)
def flavor = variant.productFlavors[0].name
outputFileName = "${name}_${flavor}_${defaultConfig.versionName}.apk"
def apkName = "${name}_${flavor}_${defaultConfig.versionName}"
if (abi != null) {
apkName += "_${abi}"
}
apkName += ".apk"
output.outputFileName = apkName
}
}
room {
schemaDirectory "$projectDir/schemas"
}
-151
View File
@@ -1,151 +0,0 @@
{
"project_info": {
"project_number": "453392274790",
"firebase_url": "https://legado-fca69.firebaseio.com",
"project_id": "legado-fca69",
"storage_bucket": "legado-fca69.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:453392274790:android:c4eac14b1410eec5f624a7",
"android_client_info": {
"package_name": "io.legado.app.debug"
}
},
"oauth_client": [
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyD90mfNLhA7cAzzI9SonpSz5mrF5BnmyJA"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:453392274790:android:c1481c1c3d3f51eff624a7",
"android_client_info": {
"package_name": "io.legado.app.release"
}
},
"oauth_client": [
{
"client_id": "453392274790-trrgennt5njr1lhil1sgtf0ogcgd38fo.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "io.legado.app.release",
"certificate_hash": "fd67dba87b7b761631266f19ddde249054aac5c1"
}
},
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyD90mfNLhA7cAzzI9SonpSz5mrF5BnmyJA"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:453392274790:android:b891abd2331577dff624a7",
"android_client_info": {
"package_name": "io.legado.play.release"
}
},
"oauth_client": [
{
"client_id": "453392274790-f8sjn6ohs72rg1dvp0pdvk42nkq54p0k.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "io.legado.play.release",
"certificate_hash": "00819ace9891386e535967cbafd6a88f3797bd5b"
}
},
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyD90mfNLhA7cAzzI9SonpSz5mrF5BnmyJA"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:453392274790:android:b891abd2331577dff624a7",
"android_client_info": {
"package_name": "io.legado.play.debug"
}
},
"oauth_client": [
{
"client_id": "453392274790-f8sjn6ohs72rg1dvp0pdvk42nkq54p0k.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "io.legado.play.debug",
"certificate_hash": "00819ace9891386e535967cbafd6a88f3797bd5b"
}
},
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyD90mfNLhA7cAzzI9SonpSz5mrF5BnmyJA"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "453392274790-hnbpatpce9hbjiggj76hgo7queu86atq.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
+2 -2
View File
@@ -58,7 +58,7 @@
}
# 保持js引擎调用的java类
-keep class * extends io.legado.app.help.JsExtensions{*;}
-keep class * extends io.legato.kazusa.help.JsExtensions{*;}
# 数据类
-keep class **.data.entities.**{*;}
# hutool-core hutool-crypto
@@ -122,7 +122,7 @@ cn.hutool.core.util.**{*;}
# -keep class com.google.android.exoplayer2.** {*;}
## 对外提供api
-keep class io.legado.app.api.ReturnData{*;}
-keep class io.legato.kazusa.api.ReturnData{*;}
# Cronet
-keepclassmembers class org.chromium.net.X509Util {
@@ -1,4 +1,4 @@
package io.legado.app
package io.legato.kazusa
import cn.hutool.core.lang.JarClassLoader
import com.script.ScriptBindings
@@ -1,4 +1,4 @@
package io.legado.app
package io.legato.kazusa
import android.content.Context
import android.net.Uri
@@ -1,12 +1,12 @@
package io.legado.app
package io.legato.kazusa
import android.app.DownloadManager
import android.net.Uri
import android.os.Environment
import android.webkit.WebSettings
import android.webkit.WebView
import io.legado.app.help.config.AppConfig
import io.legado.app.utils.runOnUI
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.utils.runOnUI
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import org.junit.Test
@@ -1,7 +1,7 @@
package io.legado.app
package io.legato.kazusa
import io.legado.app.help.config.AppConfig
import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.model.analyzeRule.AnalyzeUrl
import kotlinx.coroutines.runBlocking
import org.junit.Test
@@ -1,4 +1,4 @@
package io.legado.app
package io.legato.kazusa
import androidx.room.Room
import androidx.room.migration.Migration
@@ -6,7 +6,7 @@ import androidx.room.testing.MigrationTestHelper
import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import io.legado.app.data.AppDatabase
import io.legato.kazusa.data.AppDatabase
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -1,10 +1,10 @@
package io.legado.app
package io.legato.kazusa
import com.google.gson.Gson
import io.legado.app.exception.NoStackTraceException
import io.legado.app.help.http.okHttpClient
import io.legado.app.help.update.GithubRelease
import io.legado.app.utils.fromJsonObject
import io.legato.kazusa.exception.NoStackTraceException
import io.legato.kazusa.help.http.okHttpClient
import io.legato.kazusa.help.update.GithubRelease
import io.legato.kazusa.utils.fromJsonObject
import okhttp3.Request
import org.junit.Assert.assertTrue
import org.junit.Test
+3 -3
View File
@@ -158,11 +158,11 @@
android:launchMode="singleTask" />
<!-- 音频播放界面 -->
<activity
android:name="io.legado.app.ui.book.audio.AudioPlayActivity"
android:name="io.legato.kazusa.ui.book.audio.AudioPlayActivity"
android:launchMode="singleTask" />
<!-- 授权界面 -->
<activity
android:name="io.legado.app.lib.permission.PermissionActivity"
android:name="io.legato.kazusa.lib.permission.PermissionActivity"
android:theme="@style/Activity.Permission" />
<!-- 二维码扫描 -->
<activity
@@ -288,7 +288,7 @@
android:launchMode="standard" />
<!-- 书源登录 -->
<activity
android:name="io.legado.app.ui.login.SourceLoginActivity"
android:name="io.legato.kazusa.ui.login.SourceLoginActivity"
android:configChanges="orientation|screenSize"
android:hardwareAccelerated="true"
android:theme="@style/AppTheme.Transparent" />
@@ -1,18 +0,0 @@
@file:Suppress("unused")
package io.legado.app.lib.theme
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.drawable.GradientDrawable
import androidx.annotation.ColorInt
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import io.legado.app.R
import io.legado.app.help.config.AppConfig
import io.legado.app.utils.ColorUtils
import io.legado.app.utils.dpToPx
/**
* @author Karim Abou Zeid (kabouzeid)
*/
@@ -1,5 +0,0 @@
package io.legado.app.ui.book.read.page.entities
enum class PageDirection {
NONE, PREV, NEXT
}
@@ -1,4 +1,4 @@
package io.legado.app
package io.legato.kazusa
import android.app.Application
import android.app.Notification
@@ -16,44 +16,44 @@ import com.jeremyliao.liveeventbus.logger.DefaultLogger
import com.script.rhino.ReadOnlyJavaObject
import com.script.rhino.RhinoScriptEngine
import com.script.rhino.RhinoWrapFactory
import io.legado.app.base.AppContextWrapper
import io.legado.app.constant.AppConst.channelIdDownload
import io.legado.app.constant.AppConst.channelIdReadAloud
import io.legado.app.constant.AppConst.channelIdWeb
import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb
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.HttpTTS
import io.legado.app.data.entities.RssSource
import io.legado.app.data.entities.rule.BookInfoRule
import io.legado.app.data.entities.rule.ContentRule
import io.legado.app.data.entities.rule.ExploreRule
import io.legado.app.data.entities.rule.SearchRule
import io.legado.app.help.AppFreezeMonitor
import io.legado.app.help.AppWebDav
import io.legado.app.help.CrashHandler
import io.legado.app.help.DefaultData
import io.legado.app.help.LifecycleHelp
import io.legado.app.help.RuleBigDataHelp
import io.legado.app.help.book.BookHelp
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ThemeConfig.applyDayNight
import io.legado.app.help.config.ThemeConfig.applyDayNightInit
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.help.http.Cronet
import io.legado.app.help.http.ObsoleteUrlFactory
import io.legado.app.help.http.okHttpClient
import io.legado.app.help.rhino.NativeBaseSource
import io.legado.app.help.source.SourceHelp
import io.legado.app.help.storage.Backup
import io.legado.app.model.BookCover
import io.legado.app.utils.ChineseUtils
import io.legado.app.utils.LogUtils
import io.legado.app.utils.defaultSharedPreferences
import io.legado.app.utils.getPrefBoolean
import io.legado.app.utils.isDebuggable
import io.legato.kazusa.base.AppContextWrapper
import io.legato.kazusa.constant.AppConst.channelIdDownload
import io.legato.kazusa.constant.AppConst.channelIdReadAloud
import io.legato.kazusa.constant.AppConst.channelIdWeb
import io.legato.kazusa.constant.PreferKey
import io.legato.kazusa.data.appDb
import io.legato.kazusa.data.entities.Book
import io.legato.kazusa.data.entities.BookChapter
import io.legato.kazusa.data.entities.BookSource
import io.legato.kazusa.data.entities.HttpTTS
import io.legato.kazusa.data.entities.RssSource
import io.legato.kazusa.data.entities.rule.BookInfoRule
import io.legato.kazusa.data.entities.rule.ContentRule
import io.legato.kazusa.data.entities.rule.ExploreRule
import io.legato.kazusa.data.entities.rule.SearchRule
import io.legato.kazusa.help.AppFreezeMonitor
import io.legato.kazusa.help.AppWebDav
import io.legato.kazusa.help.CrashHandler
import io.legato.kazusa.help.DefaultData
import io.legato.kazusa.help.LifecycleHelp
import io.legato.kazusa.help.RuleBigDataHelp
import io.legato.kazusa.help.book.BookHelp
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.config.ThemeConfig.applyDayNight
import io.legato.kazusa.help.config.ThemeConfig.applyDayNightInit
import io.legato.kazusa.help.coroutine.Coroutine
import io.legato.kazusa.help.http.Cronet
import io.legato.kazusa.help.http.ObsoleteUrlFactory
import io.legato.kazusa.help.http.okHttpClient
import io.legato.kazusa.help.rhino.NativeBaseSource
import io.legato.kazusa.help.source.SourceHelp
import io.legato.kazusa.help.storage.Backup
import io.legato.kazusa.model.BookCover
import io.legato.kazusa.utils.ChineseUtils
import io.legato.kazusa.utils.LogUtils
import io.legato.kazusa.utils.defaultSharedPreferences
import io.legato.kazusa.utils.getPrefBoolean
import io.legato.kazusa.utils.isDebuggable
import kotlinx.coroutines.launch
import org.chromium.base.ThreadUtils
import splitties.init.appCtx
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2020 w568w
*/
package io.legado.app.api
package io.legato.kazusa.api
import android.content.ContentProvider
import android.content.ContentValues
@@ -10,9 +10,9 @@ import android.database.Cursor
import android.database.MatrixCursor
import android.net.Uri
import com.google.gson.Gson
import io.legado.app.api.controller.BookController
import io.legado.app.api.controller.BookSourceController
import io.legado.app.api.controller.RssSourceController
import io.legato.kazusa.api.controller.BookController
import io.legato.kazusa.api.controller.BookSourceController
import io.legato.kazusa.api.controller.RssSourceController
import kotlinx.coroutines.runBlocking
/**
@@ -1,4 +1,4 @@
package io.legado.app.api
package io.legato.kazusa.api
import androidx.annotation.Keep
@@ -1,14 +1,14 @@
package io.legado.app.api
package io.legato.kazusa.api
import android.content.Context
import android.content.Intent
import androidx.core.content.pm.ShortcutInfoCompat
import androidx.core.content.pm.ShortcutManagerCompat
import androidx.core.graphics.drawable.IconCompat
import io.legado.app.R
import io.legado.app.receiver.SharedReceiverActivity
import io.legado.app.ui.book.read.ReadBookActivity
import io.legado.app.ui.main.MainActivity
import io.legato.kazusa.R
import io.legato.kazusa.receiver.SharedReceiverActivity
import io.legato.kazusa.ui.book.read.ReadBookActivity
import io.legato.kazusa.ui.main.MainActivity
object ShortCuts {
@@ -1,31 +1,31 @@
package io.legado.app.api.controller
package io.legato.kazusa.api.controller
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import androidx.core.graphics.drawable.toBitmap
import com.bumptech.glide.Glide
import io.legado.app.api.ReturnData
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookProgress
import io.legado.app.data.entities.BookSource
import io.legado.app.help.AppWebDav
import io.legado.app.help.CacheManager
import io.legado.app.help.book.BookHelp
import io.legado.app.help.book.ContentProcessor
import io.legado.app.help.book.isLocal
import io.legado.app.help.config.AppConfig
import io.legado.app.help.glide.ImageLoader
import io.legado.app.model.BookCover
import io.legado.app.model.ImageProvider
import io.legado.app.model.ReadBook
import io.legado.app.model.localBook.LocalBook
import io.legado.app.model.webBook.WebBook
import io.legado.app.utils.GSON
import io.legado.app.utils.cnCompare
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.printOnDebug
import io.legado.app.utils.stackTraceStr
import io.legato.kazusa.api.ReturnData
import io.legato.kazusa.data.appDb
import io.legato.kazusa.data.entities.Book
import io.legato.kazusa.data.entities.BookProgress
import io.legato.kazusa.data.entities.BookSource
import io.legato.kazusa.help.AppWebDav
import io.legato.kazusa.help.CacheManager
import io.legato.kazusa.help.book.BookHelp
import io.legato.kazusa.help.book.ContentProcessor
import io.legato.kazusa.help.book.isLocal
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.glide.ImageLoader
import io.legato.kazusa.model.BookCover
import io.legato.kazusa.model.ImageProvider
import io.legato.kazusa.model.ReadBook
import io.legato.kazusa.model.localBook.LocalBook
import io.legato.kazusa.model.webBook.WebBook
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.cnCompare
import io.legato.kazusa.utils.fromJsonObject
import io.legato.kazusa.utils.printOnDebug
import io.legato.kazusa.utils.stackTraceStr
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import splitties.init.appCtx
@@ -1,14 +1,14 @@
package io.legado.app.api.controller
package io.legato.kazusa.api.controller
import android.text.TextUtils
import io.legado.app.api.ReturnData
import io.legado.app.data.appDb
import io.legado.app.data.entities.BookSource
import io.legado.app.help.source.SourceHelp
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonArray
import io.legado.app.utils.fromJsonObject
import io.legato.kazusa.api.ReturnData
import io.legato.kazusa.data.appDb
import io.legato.kazusa.data.entities.BookSource
import io.legato.kazusa.help.source.SourceHelp
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.fromJsonArray
import io.legato.kazusa.utils.fromJsonObject
object BookSourceController {
@@ -1,12 +1,12 @@
package io.legado.app.api.controller
package io.legato.kazusa.api.controller
import io.legado.app.api.ReturnData
import io.legado.app.data.appDb
import io.legado.app.data.entities.ReplaceRule
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.replace
import io.legado.app.utils.stackTraceStr
import io.legato.kazusa.api.ReturnData
import io.legato.kazusa.data.appDb
import io.legato.kazusa.data.entities.ReplaceRule
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.fromJsonObject
import io.legato.kazusa.utils.replace
import io.legato.kazusa.utils.stackTraceStr
object ReplaceRuleController {
@@ -1,14 +1,14 @@
package io.legado.app.api.controller
package io.legato.kazusa.api.controller
import android.text.TextUtils
import io.legado.app.api.ReturnData
import io.legado.app.data.appDb
import io.legado.app.data.entities.RssSource
import io.legado.app.help.source.SourceHelp
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonArray
import io.legado.app.utils.fromJsonObject
import io.legato.kazusa.api.ReturnData
import io.legato.kazusa.data.appDb
import io.legato.kazusa.data.entities.RssSource
import io.legato.kazusa.help.source.SourceHelp
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.fromJsonArray
import io.legato.kazusa.utils.fromJsonObject
object RssSourceController {
@@ -1,4 +1,4 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.annotation.SuppressLint
import android.content.Context
@@ -6,10 +6,10 @@ import android.content.res.Configuration
import android.content.res.Resources
import android.os.Build
import android.os.LocaleList
import io.legado.app.constant.PreferKey
import io.legado.app.utils.getPrefInt
import io.legado.app.utils.getPrefString
import io.legado.app.utils.sysConfiguration
import io.legato.kazusa.constant.PreferKey
import io.legato.kazusa.utils.getPrefInt
import io.legato.kazusa.utils.getPrefString
import io.legato.kazusa.utils.sysConfiguration
import java.util.*
@@ -1,4 +1,4 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.annotation.SuppressLint
import android.content.Context
@@ -17,28 +17,19 @@ import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding
import com.google.android.material.appbar.AppBarLayout
import io.legado.app.R
import io.legado.app.constant.AppConst
import io.legado.app.constant.AppLog
import io.legado.app.constant.Theme
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ThemeConfig
import io.legado.app.lib.theme.ThemeStore
import io.legato.kazusa.R
import io.legato.kazusa.constant.AppConst
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.constant.Theme
import io.legato.kazusa.help.config.ThemeConfig
//import io.legado.app.lib.theme.backgroundColor
//import io.legado.app.lib.theme.primaryColor
import io.legado.app.ui.widget.TitleBar
import io.legado.app.utils.ColorUtils
import io.legado.app.utils.applyBackgroundTint
import io.legado.app.utils.applyOpenTint
import io.legado.app.utils.applyTint
import io.legado.app.utils.disableAutoFill
import io.legado.app.utils.fullScreen
import io.legado.app.utils.hideSoftInput
import io.legado.app.utils.setLightStatusBar
import io.legado.app.utils.setNavigationBarColorAuto
import io.legado.app.utils.setStatusBarColorAuto
import io.legado.app.utils.toastOnUi
import io.legado.app.utils.windowSize
import io.legato.kazusa.utils.applyOpenTint
import io.legato.kazusa.utils.applyTint
import io.legato.kazusa.utils.disableAutoFill
import io.legato.kazusa.utils.hideSoftInput
import io.legato.kazusa.utils.toastOnUi
import io.legato.kazusa.utils.windowSize
abstract class BaseActivity<VB : ViewBinding>(
@@ -1,26 +1,15 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.app.Dialog
import android.content.DialogInterface
import android.content.DialogInterface.OnDismissListener
import android.os.Build
import android.os.Bundle
import android.view.View
import android.view.WindowManager
import androidx.annotation.LayoutRes
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.lifecycleScope
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import io.legado.app.R
import io.legado.app.constant.AppLog
import io.legado.app.help.config.AppConfig
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.lib.theme.ThemeStore
import io.legado.app.utils.setBackgroundKeepPadding
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.help.coroutine.Coroutine
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlin.coroutines.CoroutineContext
@@ -1,26 +1,18 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.content.DialogInterface
import android.content.DialogInterface.OnDismissListener
import android.os.Build
import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import androidx.annotation.LayoutRes
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.lifecycleScope
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import io.legado.app.R
import io.legado.app.constant.AppLog
import io.legado.app.help.config.AppConfig
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.lib.theme.ThemeStore
import io.legado.app.utils.dpToPx
import io.legado.app.utils.setBackgroundKeepPadding
import io.legato.kazusa.R
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.coroutine.Coroutine
import io.legato.kazusa.lib.theme.ThemeStore
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlin.coroutines.CoroutineContext
@@ -1,4 +1,4 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.annotation.SuppressLint
import android.content.res.Configuration
@@ -11,9 +11,7 @@ import androidx.annotation.LayoutRes
import androidx.appcompat.view.SupportMenuInflater
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.Fragment
import io.legado.app.R
import io.legado.app.ui.widget.TitleBar
import io.legado.app.utils.applyTint
import io.legato.kazusa.utils.applyTint
@Suppress("MemberVisibilityCanBePrivate")
abstract class BaseFragment(@LayoutRes layoutID: Int) : Fragment(layoutID) {
@@ -1,14 +1,8 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.view.Gravity
import android.view.WindowManager
import androidx.fragment.app.DialogFragment
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import io.legado.app.R
import io.legado.app.help.config.AppConfig
import io.legado.app.utils.dpToPx
import io.legato.kazusa.help.config.AppConfig
abstract class BasePrefDialogFragment(
@@ -1,4 +1,4 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.content.Intent
import android.os.Build
@@ -6,12 +6,12 @@ import android.os.IBinder
import androidx.annotation.CallSuper
import androidx.lifecycle.LifecycleService
import androidx.lifecycle.lifecycleScope
import io.legado.app.R
import io.legado.app.help.LifecycleHelp
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.lib.permission.Permissions
import io.legado.app.lib.permission.PermissionsCompat
import io.legado.app.utils.LogUtils
import io.legato.kazusa.R
import io.legato.kazusa.help.LifecycleHelp
import io.legato.kazusa.help.coroutine.Coroutine
import io.legato.kazusa.lib.permission.Permissions
import io.legato.kazusa.lib.permission.PermissionsCompat
import io.legato.kazusa.utils.LogUtils
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.Dispatchers
@@ -1,11 +1,11 @@
package io.legado.app.base
package io.legato.kazusa.base
import android.app.Application
import android.content.Context
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope
import io.legado.app.App
import io.legado.app.help.coroutine.Coroutine
import io.legato.kazusa.App
import io.legato.kazusa.help.coroutine.Coroutine
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.Deferred
@@ -1,8 +1,8 @@
package io.legado.app.base
package io.legato.kazusa.base
import androidx.lifecycle.ViewModel
import androidx.viewbinding.ViewBinding
import io.legado.app.constant.Theme
import io.legato.kazusa.constant.Theme
abstract class VMBaseActivity<VB : ViewBinding, VM : ViewModel>(
fullScreen: Boolean = true,
@@ -1,4 +1,4 @@
package io.legado.app.base
package io.legato.kazusa.base
import androidx.lifecycle.ViewModel
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter
package io.legato.kazusa.base.adapter
import android.content.Context
import android.os.Parcelable
@@ -1,8 +1,8 @@
package io.legado.app.base.adapter
package io.legato.kazusa.base.adapter
import android.view.animation.Interpolator
import android.view.animation.LinearInterpolator
import io.legado.app.base.adapter.animations.*
import io.legato.kazusa.base.adapter.animations.*
/**
* Created by Invincible on 2017/12/15.
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter
package io.legato.kazusa.base.adapter
import androidx.recyclerview.widget.RecyclerView
import androidx.viewbinding.ViewBinding
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter
package io.legato.kazusa.base.adapter
import android.annotation.SuppressLint
import android.content.Context
@@ -9,9 +9,9 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.viewbinding.ViewBinding
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.utils.buildMainHandler
import io.legado.app.utils.withTimeoutOrNullAsync
import io.legato.kazusa.help.coroutine.Coroutine
import io.legato.kazusa.utils.buildMainHandler
import io.legato.kazusa.utils.withTimeoutOrNullAsync
import kotlinx.coroutines.ensureActive
import splitties.views.onLongClick
import java.util.Collections
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter.animations
package io.legato.kazusa.base.adapter.animations
import android.animation.Animator
import android.animation.ObjectAnimator
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter.animations
package io.legato.kazusa.base.adapter.animations
import android.animation.Animator
import android.view.View
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter.animations
package io.legato.kazusa.base.adapter.animations
import android.animation.Animator
import android.animation.ObjectAnimator
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter.animations
package io.legato.kazusa.base.adapter.animations
import android.animation.Animator
import android.animation.ObjectAnimator
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter.animations
package io.legato.kazusa.base.adapter.animations
import android.animation.Animator
import android.animation.ObjectAnimator
@@ -1,4 +1,4 @@
package io.legado.app.base.adapter.animations
package io.legato.kazusa.base.adapter.animations
import android.animation.Animator
import android.animation.ObjectAnimator
@@ -1,12 +1,12 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import android.annotation.SuppressLint
import android.content.pm.PackageManager
import android.provider.Settings
import androidx.annotation.Keep
import cn.hutool.crypto.digest.DigestUtil
import io.legado.app.BuildConfig
import io.legado.app.help.update.AppVariant
import io.legato.kazusa.BuildConfig
import io.legato.kazusa.help.update.AppVariant
import org.apache.commons.lang3.time.FastDateFormat
import splitties.init.appCtx
@@ -1,10 +1,10 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import android.util.Log
import io.legado.app.BuildConfig
import io.legado.app.help.config.AppConfig
import io.legado.app.utils.LogUtils
import io.legado.app.utils.toastOnUi
import io.legato.kazusa.BuildConfig
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.utils.LogUtils
import io.legato.kazusa.utils.toastOnUi
import splitties.init.appCtx
object AppLog {
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import java.util.regex.Pattern
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import androidx.annotation.IntDef
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import androidx.annotation.IntDef
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
object EventBus {
const val MEDIA_BUTTON = "mediaButton"
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
@Suppress("ConstPropertyName")
object IntentAction {
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
/**
* 通知ID不能重复,统一规划通知ID
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import androidx.annotation.IntDef
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
@Suppress("ConstPropertyName")
object PreferKey {
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
import androidx.annotation.IntDef
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
object Status {
const val STOP = 0
@@ -1,4 +1,4 @@
package io.legado.app.constant
package io.legato.kazusa.constant
enum class Theme {
Dark, Light, Auto, Transparent, EInk;
@@ -1,4 +1,4 @@
package io.legado.app.data
package io.legato.kazusa.data
import android.content.ContentValues
import android.database.sqlite.SQLiteDatabase
@@ -7,50 +7,50 @@ import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.sqlite.db.SupportSQLiteDatabase
import io.legado.app.data.dao.BookChapterDao
import io.legado.app.data.dao.BookDao
import io.legado.app.data.dao.BookGroupDao
import io.legado.app.data.dao.BookSourceDao
import io.legado.app.data.dao.BookmarkDao
import io.legado.app.data.dao.CacheDao
import io.legado.app.data.dao.CookieDao
import io.legado.app.data.dao.DictRuleDao
import io.legado.app.data.dao.HttpTTSDao
import io.legado.app.data.dao.KeyboardAssistsDao
import io.legado.app.data.dao.ReadRecordDao
import io.legado.app.data.dao.ReplaceRuleDao
import io.legado.app.data.dao.RssArticleDao
import io.legado.app.data.dao.RssReadRecordDao
import io.legado.app.data.dao.RssSourceDao
import io.legado.app.data.dao.RssStarDao
import io.legado.app.data.dao.RuleSubDao
import io.legado.app.data.dao.SearchBookDao
import io.legado.app.data.dao.SearchKeywordDao
import io.legado.app.data.dao.ServerDao
import io.legado.app.data.dao.TxtTocRuleDao
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter
import io.legado.app.data.entities.BookGroup
import io.legado.app.data.entities.BookSource
import io.legado.app.data.entities.BookSourcePart
import io.legado.app.data.entities.Bookmark
import io.legado.app.data.entities.Cache
import io.legado.app.data.entities.Cookie
import io.legado.app.data.entities.DictRule
import io.legado.app.data.entities.HttpTTS
import io.legado.app.data.entities.KeyboardAssist
import io.legado.app.data.entities.ReadRecord
import io.legado.app.data.entities.ReplaceRule
import io.legado.app.data.entities.RssArticle
import io.legado.app.data.entities.RssReadRecord
import io.legado.app.data.entities.RssSource
import io.legado.app.data.entities.RssStar
import io.legado.app.data.entities.RuleSub
import io.legado.app.data.entities.SearchBook
import io.legado.app.data.entities.SearchKeyword
import io.legado.app.data.entities.Server
import io.legado.app.data.entities.TxtTocRule
import io.legado.app.help.DefaultData
import io.legato.kazusa.data.dao.BookChapterDao
import io.legato.kazusa.data.dao.BookDao
import io.legato.kazusa.data.dao.BookGroupDao
import io.legato.kazusa.data.dao.BookSourceDao
import io.legato.kazusa.data.dao.BookmarkDao
import io.legato.kazusa.data.dao.CacheDao
import io.legato.kazusa.data.dao.CookieDao
import io.legato.kazusa.data.dao.DictRuleDao
import io.legato.kazusa.data.dao.HttpTTSDao
import io.legato.kazusa.data.dao.KeyboardAssistsDao
import io.legato.kazusa.data.dao.ReadRecordDao
import io.legato.kazusa.data.dao.ReplaceRuleDao
import io.legato.kazusa.data.dao.RssArticleDao
import io.legato.kazusa.data.dao.RssReadRecordDao
import io.legato.kazusa.data.dao.RssSourceDao
import io.legato.kazusa.data.dao.RssStarDao
import io.legato.kazusa.data.dao.RuleSubDao
import io.legato.kazusa.data.dao.SearchBookDao
import io.legato.kazusa.data.dao.SearchKeywordDao
import io.legato.kazusa.data.dao.ServerDao
import io.legato.kazusa.data.dao.TxtTocRuleDao
import io.legato.kazusa.data.entities.Book
import io.legato.kazusa.data.entities.BookChapter
import io.legato.kazusa.data.entities.BookGroup
import io.legato.kazusa.data.entities.BookSource
import io.legato.kazusa.data.entities.BookSourcePart
import io.legato.kazusa.data.entities.Bookmark
import io.legato.kazusa.data.entities.Cache
import io.legato.kazusa.data.entities.Cookie
import io.legato.kazusa.data.entities.DictRule
import io.legato.kazusa.data.entities.HttpTTS
import io.legato.kazusa.data.entities.KeyboardAssist
import io.legato.kazusa.data.entities.ReadRecord
import io.legato.kazusa.data.entities.ReplaceRule
import io.legato.kazusa.data.entities.RssArticle
import io.legato.kazusa.data.entities.RssReadRecord
import io.legato.kazusa.data.entities.RssSource
import io.legato.kazusa.data.entities.RssStar
import io.legato.kazusa.data.entities.RuleSub
import io.legato.kazusa.data.entities.SearchBook
import io.legato.kazusa.data.entities.SearchKeyword
import io.legato.kazusa.data.entities.Server
import io.legato.kazusa.data.entities.TxtTocRule
import io.legato.kazusa.help.DefaultData
import org.intellij.lang.annotations.Language
import splitties.init.appCtx
import java.util.Locale
@@ -1,12 +1,12 @@
package io.legado.app.data
package io.legato.kazusa.data
import androidx.room.DeleteColumn
import androidx.room.migration.AutoMigrationSpec
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import io.legado.app.constant.AppConst
import io.legado.app.constant.BookSourceType
import io.legado.app.constant.BookType
import io.legato.kazusa.constant.AppConst
import io.legato.kazusa.constant.BookSourceType
import io.legato.kazusa.constant.BookType
object DatabaseMigrations {
@@ -1,11 +1,11 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import io.legado.app.data.entities.BookChapter
import io.legato.kazusa.data.entities.BookChapter
@Dao
interface BookChapterDao {
@@ -1,4 +1,4 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.Dao
import androidx.room.Delete
@@ -6,11 +6,11 @@ import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import io.legado.app.constant.BookType
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookGroup
import io.legado.app.data.entities.BookSource
import io.legado.app.help.book.isNotShelf
import io.legato.kazusa.constant.BookType
import io.legato.kazusa.data.entities.Book
import io.legato.kazusa.data.entities.BookGroup
import io.legato.kazusa.data.entities.BookSource
import io.legato.kazusa.help.book.isNotShelf
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
@@ -1,4 +1,4 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.lifecycle.LiveData
import androidx.room.Dao
@@ -7,8 +7,8 @@ import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import io.legado.app.constant.BookType
import io.legado.app.data.entities.BookGroup
import io.legato.kazusa.constant.BookType
import io.legato.kazusa.data.entities.BookGroup
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,4 +1,4 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.Dao
import androidx.room.Delete
@@ -7,11 +7,11 @@ import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import io.legado.app.constant.AppPattern
import io.legado.app.data.entities.BookSource
import io.legado.app.data.entities.BookSourcePart
import io.legado.app.utils.cnCompare
import io.legado.app.utils.splitNotBlank
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.data.entities.BookSource
import io.legato.kazusa.data.entities.BookSourcePart
import io.legato.kazusa.utils.cnCompare
import io.legato.kazusa.utils.splitNotBlank
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOn
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.Bookmark
import io.legato.kazusa.data.entities.Bookmark
import kotlinx.coroutines.flow.Flow
@@ -1,10 +1,10 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import io.legado.app.data.entities.Cache
import io.legato.kazusa.data.entities.Cache
@Dao
interface CacheDao {
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.Cookie
import io.legato.kazusa.data.entities.Cookie
@Dao
interface CookieDao {
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.DictRule
import io.legato.kazusa.data.entities.DictRule
import kotlinx.coroutines.flow.Flow
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.HttpTTS
import io.legato.kazusa.data.entities.HttpTTS
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.KeyboardAssist
import io.legato.kazusa.data.entities.KeyboardAssist
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,8 +1,8 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.ReadRecord
import io.legado.app.data.entities.ReadRecordShow
import io.legato.kazusa.data.entities.ReadRecord
import io.legato.kazusa.data.entities.ReadRecordShow
@Dao
interface ReadRecordDao {
@@ -1,4 +1,4 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.Dao
import androidx.room.Delete
@@ -6,10 +6,10 @@ import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import io.legado.app.constant.AppPattern
import io.legado.app.data.entities.ReplaceRule
import io.legado.app.utils.cnCompare
import io.legado.app.utils.splitNotBlank
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.data.entities.ReplaceRule
import io.legato.kazusa.utils.cnCompare
import io.legato.kazusa.utils.splitNotBlank
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOn
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.RssArticle
import io.legato.kazusa.data.entities.RssArticle
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.RssReadRecord
import io.legato.kazusa.data.entities.RssReadRecord
@Dao
interface RssReadRecordDao {
@@ -1,4 +1,4 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.Dao
import androidx.room.Delete
@@ -6,10 +6,10 @@ import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import io.legado.app.constant.AppPattern
import io.legado.app.data.entities.RssSource
import io.legado.app.utils.cnCompare
import io.legado.app.utils.splitNotBlank
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.data.entities.RssSource
import io.legato.kazusa.utils.cnCompare
import io.legato.kazusa.utils.splitNotBlank
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOn
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.RssStar
import io.legato.kazusa.data.entities.RssStar
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.RuleSub
import io.legato.kazusa.data.entities.RuleSub
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.SearchBook
import io.legato.kazusa.data.entities.SearchBook
@Dao
interface SearchBookDao {
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.SearchKeyword
import io.legato.kazusa.data.entities.SearchKeyword
import kotlinx.coroutines.flow.Flow
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.Server
import io.legato.kazusa.data.entities.Server
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,7 +1,7 @@
package io.legado.app.data.dao
package io.legato.kazusa.data.dao
import androidx.room.*
import io.legado.app.data.entities.TxtTocRule
import io.legato.kazusa.data.entities.TxtTocRule
import kotlinx.coroutines.flow.Flow
@Dao
@@ -1,9 +1,9 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import io.legado.app.help.RuleBigDataHelp
import io.legado.app.model.analyzeRule.RuleDataInterface
import io.legado.app.utils.GSON
import io.legado.app.utils.splitNotBlank
import io.legato.kazusa.help.RuleBigDataHelp
import io.legato.kazusa.model.analyzeRule.RuleDataInterface
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.splitNotBlank
interface BaseBook : RuleDataInterface {
var name: String
@@ -1,8 +1,8 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import io.legado.app.help.RuleBigDataHelp
import io.legado.app.model.analyzeRule.RuleDataInterface
import io.legado.app.utils.GSON
import io.legato.kazusa.help.RuleBigDataHelp
import io.legato.kazusa.model.analyzeRule.RuleDataInterface
import io.legato.kazusa.utils.GSON
interface BaseRssArticle : RuleDataInterface {
@@ -1,25 +1,25 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import cn.hutool.crypto.symmetric.AES
import com.script.ScriptBindings
import com.script.buildScriptBindings
import com.script.rhino.RhinoScriptEngine
import io.legado.app.constant.AppConst
import io.legado.app.constant.AppLog
import io.legado.app.data.entities.rule.RowUi
import io.legado.app.help.CacheManager
import io.legado.app.help.JsExtensions
import io.legado.app.help.config.AppConfig
import io.legado.app.help.crypto.SymmetricCryptoAndroid
import io.legado.app.help.http.CookieStore
import io.legado.app.help.source.getShareScope
import io.legado.app.model.Debug
import io.legado.app.utils.GSON
import io.legado.app.utils.GSONStrict
import io.legado.app.utils.fromJsonArray
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.has
import io.legado.app.utils.printOnDebug
import io.legato.kazusa.constant.AppConst
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.data.entities.rule.RowUi
import io.legato.kazusa.help.CacheManager
import io.legato.kazusa.help.JsExtensions
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.crypto.SymmetricCryptoAndroid
import io.legato.kazusa.help.http.CookieStore
import io.legato.kazusa.help.source.getShareScope
import io.legato.kazusa.model.Debug
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.GSONStrict
import io.legato.kazusa.utils.fromJsonArray
import io.legato.kazusa.utils.fromJsonObject
import io.legato.kazusa.utils.has
import io.legato.kazusa.utils.printOnDebug
import org.intellij.lang.annotations.Language
/**
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.os.Parcelable
import androidx.room.ColumnInfo
@@ -8,21 +8,21 @@ import androidx.room.Index
import androidx.room.PrimaryKey
import androidx.room.TypeConverter
import androidx.room.TypeConverters
import io.legado.app.constant.AppPattern
import io.legado.app.constant.BookType
import io.legado.app.constant.PageAnim
import io.legado.app.data.appDb
import io.legado.app.help.book.BookHelp
import io.legado.app.help.book.ContentProcessor
import io.legado.app.help.book.getFolderNameNoCache
import io.legado.app.help.book.isEpub
import io.legado.app.help.book.isImage
import io.legado.app.help.book.simulatedTotalChapterNum
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ReadBookConfig
import io.legado.app.model.ReadBook
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonObject
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.constant.BookType
import io.legato.kazusa.constant.PageAnim
import io.legato.kazusa.data.appDb
import io.legato.kazusa.help.book.BookHelp
import io.legato.kazusa.help.book.ContentProcessor
import io.legato.kazusa.help.book.getFolderNameNoCache
import io.legato.kazusa.help.book.isEpub
import io.legato.kazusa.help.book.isImage
import io.legato.kazusa.help.book.simulatedTotalChapterNum
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.config.ReadBookConfig
import io.legato.kazusa.model.ReadBook
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.fromJsonObject
import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
import java.nio.charset.Charset
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.annotation.SuppressLint
import android.os.Parcelable
@@ -6,21 +6,21 @@ import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Ignore
import androidx.room.Index
import io.legado.app.constant.AppLog
import io.legado.app.constant.AppPattern
import io.legado.app.data.appDb
import io.legado.app.exception.RegexTimeoutException
import io.legado.app.help.RuleBigDataHelp
import io.legado.app.help.config.AppConfig
import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legado.app.model.analyzeRule.RuleDataInterface
import io.legado.app.utils.ChineseUtils
import io.legado.app.utils.GSON
import io.legado.app.utils.MD5Utils
import io.legado.app.utils.NetworkUtils
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.replace
import io.legado.app.utils.toastOnUi
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.data.appDb
import io.legato.kazusa.exception.RegexTimeoutException
import io.legato.kazusa.help.RuleBigDataHelp
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.model.analyzeRule.AnalyzeUrl
import io.legato.kazusa.model.analyzeRule.RuleDataInterface
import io.legato.kazusa.utils.ChineseUtils
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.MD5Utils
import io.legato.kazusa.utils.NetworkUtils
import io.legato.kazusa.utils.fromJsonObject
import io.legato.kazusa.utils.replace
import io.legato.kazusa.utils.toastOnUi
import kotlinx.coroutines.CancellationException
import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.os.Parcelable
import androidx.room.ColumnInfo
@@ -1,12 +1,12 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.content.Context
import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import io.legado.app.R
import io.legado.app.help.config.AppConfig
import io.legato.kazusa.R
import io.legato.kazusa.help.config.AppConfig
import kotlinx.parcelize.Parcelize
@Suppress("ConstPropertyName")
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
data class BookProgress(
val name: String,
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.os.Parcelable
import android.text.TextUtils
@@ -8,17 +8,17 @@ import androidx.room.Index
import androidx.room.PrimaryKey
import androidx.room.TypeConverter
import androidx.room.TypeConverters
import io.legado.app.constant.AppPattern
import io.legado.app.constant.BookSourceType
import io.legado.app.data.entities.rule.BookInfoRule
import io.legado.app.data.entities.rule.ContentRule
import io.legado.app.data.entities.rule.ExploreRule
import io.legado.app.data.entities.rule.ReviewRule
import io.legado.app.data.entities.rule.SearchRule
import io.legado.app.data.entities.rule.TocRule
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.splitNotBlank
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.constant.BookSourceType
import io.legato.kazusa.data.entities.rule.BookInfoRule
import io.legato.kazusa.data.entities.rule.ContentRule
import io.legato.kazusa.data.entities.rule.ExploreRule
import io.legato.kazusa.data.entities.rule.ReviewRule
import io.legato.kazusa.data.entities.rule.SearchRule
import io.legato.kazusa.data.entities.rule.TocRule
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.fromJsonObject
import io.legato.kazusa.utils.splitNotBlank
import kotlinx.parcelize.Parcelize
@Suppress("unused")
@@ -1,10 +1,10 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.text.TextUtils
import androidx.room.DatabaseView
import io.legado.app.constant.AppPattern
import io.legado.app.data.appDb
import io.legado.app.utils.splitNotBlank
import io.legato.kazusa.constant.AppPattern
import io.legato.kazusa.data.appDb
import io.legato.kazusa.utils.splitNotBlank
@DatabaseView(
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.os.Parcelable
import androidx.room.Entity
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import androidx.room.Entity
import androidx.room.Index
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import androidx.room.Entity
import androidx.room.Index
@@ -1,11 +1,11 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import io.legado.app.model.analyzeRule.AnalyzeRule
import io.legado.app.model.analyzeRule.AnalyzeRule.Companion.setCoroutineContext
import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legato.kazusa.model.analyzeRule.AnalyzeRule
import io.legato.kazusa.model.analyzeRule.AnalyzeRule.Companion.setCoroutineContext
import io.legato.kazusa.model.analyzeRule.AnalyzeUrl
import kotlin.coroutines.coroutineContext
/**
@@ -1,13 +1,13 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import com.jayway.jsonpath.DocumentContext
import io.legado.app.utils.GSON
import io.legado.app.utils.jsonPath
import io.legado.app.utils.readLong
import io.legado.app.utils.readString
import io.legato.kazusa.utils.GSON
import io.legato.kazusa.utils.jsonPath
import io.legato.kazusa.utils.readLong
import io.legato.kazusa.utils.readString
/**
* 在线朗读引擎
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.os.Parcelable
import androidx.room.ColumnInfo
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import androidx.room.ColumnInfo
import androidx.room.Entity
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
data class ReadRecordShow(
var bookName: String,
@@ -1,4 +1,4 @@
package io.legado.app.data.entities
package io.legato.kazusa.data.entities
import android.os.Parcelable
import android.text.TextUtils
@@ -7,9 +7,9 @@ import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.Index
import androidx.room.PrimaryKey
import io.legado.app.R
import io.legado.app.constant.AppLog
import io.legado.app.exception.NoStackTraceException
import io.legato.kazusa.R
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.exception.NoStackTraceException
import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
import splitties.init.appCtx

Some files were not shown because too many files have changed in this diff Show More