恢复项目结构名,增强书源兼容性

This commit is contained in:
HapeLee
2025-10-28 18:37:57 +08:00
parent 530aeea2a4
commit 077b63c45a
1046 changed files with 6870 additions and 6933 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/legato/kazusa/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/legado/app/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/legato/kazusa/api/controller)
# 阅读[API](/app/src/main/java/io/legado/app/api/controller)
## 对于[Web](/app/src/main/java/io/legato/kazusa/web/)的配置
## 对于[Web](/app/src/main/java/io/legado/app/web/)的配置
您需要先在设置中启用"Web 服务"。
@@ -14,7 +14,7 @@
#### 插入单个书源
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)
格式参考[这个文件](/app/src/main/java/io/legado/app/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/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legado/app/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/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legado/app/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/legato/kazusa/data/entities/ReplaceRule.kt)。
替换规则参考[这个文件](/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt)。
##### 删除
@@ -118,7 +118,7 @@ Message = { key: [String] }
#### 插入书籍
请求BODY内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/Book.kt)。
格式参考[这个文件](/app/src/main/java/io/legado/app/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/legato/kazusa/data/entities/BookProgress.kt)。
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookProgress.kt)。
```
URL = http://127.0.0.1:1234/saveBookProgress
Method = POST
```
### [Content Provider](/app/src/main/java/io/legato/kazusa/api/ReaderProvider.kt)
### [Content Provider](/app/src/main/java/io/legado/app/api/ReaderProvider.kt)
* 需声明`io.legado.READ_WRITE`权限
@@ -193,7 +193,7 @@ Method = POST
#### 插入单个书源or订阅源
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/BookSource.kt)
格式参考[这个文件](/app/src/main/java/io/legado/app/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/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legado/app/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/legato/kazusa/data/entities/BookSource.kt)**为数组格式**。
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)**为数组格式**。
```
URL = content://providerHost/bookSources/delete
@@ -248,7 +248,7 @@ Method = delete
#### 插入书籍
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
格式参考[这个文件](/app/src/main/java/io/legato/kazusa/data/entities/Book.kt)。
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/Book.kt)。
```
URL = content://providerHost/book/insert
+1 -1
View File
@@ -47,7 +47,7 @@ def getGitCommitHash() {
android {
compileSdk = compile_sdk_version
namespace = "io.legato.kazusa"
namespace = "io.legado.app"
kotlin {
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(21))
+2 -2
View File
@@ -58,7 +58,7 @@
}
# 保持js引擎调用的java类
-keep class * extends io.legato.kazusa.help.JsExtensions{*;}
-keep class * extends io.legado.app.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.legato.kazusa.api.ReturnData{*;}
-keep class io.legado.app.api.ReturnData{*;}
# Cronet
-keepclassmembers class org.chromium.net.X509Util {
@@ -1,4 +1,4 @@
package io.legato.kazusa
package io.legado.app
import cn.hutool.core.lang.JarClassLoader
import com.script.ScriptBindings
@@ -1,4 +1,4 @@
package io.legato.kazusa
package io.legado.app
import android.content.Context
import android.net.Uri
@@ -1,12 +1,12 @@
package io.legato.kazusa
package io.legado.app
import android.app.DownloadManager
import android.net.Uri
import android.os.Environment
import android.webkit.WebSettings
import android.webkit.WebView
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.utils.runOnUI
import io.legado.app.help.config.AppConfig
import io.legado.app.utils.runOnUI
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import org.junit.Test
@@ -1,7 +1,7 @@
package io.legato.kazusa
package io.legado.app
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.model.analyzeRule.AnalyzeUrl
import io.legado.app.help.config.AppConfig
import io.legado.app.model.analyzeRule.AnalyzeUrl
import kotlinx.coroutines.runBlocking
import org.junit.Test
@@ -1,4 +1,4 @@
package io.legato.kazusa
package io.legado.app
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.legato.kazusa.data.AppDatabase
import io.legado.app.data.AppDatabase
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -1,10 +1,10 @@
package io.legato.kazusa
package io.legado.app
import com.google.gson.Gson
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 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 okhttp3.Request
import org.junit.Assert.assertTrue
import org.junit.Test
+3 -3
View File
@@ -185,12 +185,12 @@
android:launchMode="singleTask" />
<!-- 音频播放界面 -->
<activity
android:name="io.legato.kazusa.ui.book.audio.AudioPlayActivity"
android:name="io.legado.app.ui.book.audio.AudioPlayActivity"
android:enableOnBackInvokedCallback="true"
android:launchMode="singleTask" />
<!-- 授权界面 -->
<activity
android:name="io.legato.kazusa.lib.permission.PermissionActivity"
android:name="io.legado.app.lib.permission.PermissionActivity"
android:enableOnBackInvokedCallback="true"
android:theme="@style/Activity.Permission" />
<!-- 二维码扫描 -->
@@ -334,7 +334,7 @@
android:launchMode="standard" />
<!-- 书源登录 -->
<activity
android:name="io.legato.kazusa.ui.login.SourceLoginActivity"
android:name="io.legado.app.ui.login.SourceLoginActivity"
android:enableOnBackInvokedCallback="true"
android:configChanges="orientation|screenSize"
android:hardwareAccelerated="true"
@@ -1,4 +1,4 @@
package io.legato.kazusa
package io.legado.app
import android.app.Application
import android.app.Notification
@@ -18,45 +18,45 @@ import com.jeremyliao.liveeventbus.logger.DefaultLogger
import com.script.rhino.ReadOnlyJavaObject
import com.script.rhino.RhinoScriptEngine
import com.script.rhino.RhinoWrapFactory
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.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.lib.theme.primaryColor
import io.legato.kazusa.model.BookCover
import io.legato.kazusa.utils.ChineseUtils
import io.legato.kazusa.utils.FirebaseManager
import io.legato.kazusa.utils.LogUtils
import io.legato.kazusa.utils.defaultSharedPreferences
import io.legato.kazusa.utils.getPrefBoolean
import io.legato.kazusa.utils.getPrefString
import io.legato.kazusa.utils.isDebuggable
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.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.lib.theme.primaryColor
import io.legado.app.model.BookCover
import io.legado.app.utils.ChineseUtils
import io.legado.app.utils.FirebaseManager
import io.legado.app.utils.LogUtils
import io.legado.app.utils.defaultSharedPreferences
import io.legado.app.utils.getPrefBoolean
import io.legado.app.utils.getPrefString
import io.legado.app.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.legato.kazusa.api
package io.legado.app.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.legato.kazusa.api.controller.BookController
import io.legato.kazusa.api.controller.BookSourceController
import io.legato.kazusa.api.controller.RssSourceController
import io.legado.app.api.controller.BookController
import io.legado.app.api.controller.BookSourceController
import io.legado.app.api.controller.RssSourceController
import kotlinx.coroutines.runBlocking
/**
@@ -1,4 +1,4 @@
package io.legato.kazusa.api
package io.legado.app.api
import androidx.annotation.Keep
@@ -1,14 +1,14 @@
package io.legato.kazusa.api
package io.legado.app.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.legato.kazusa.R
import io.legato.kazusa.receiver.SharedReceiverActivity
import io.legato.kazusa.ui.book.read.ReadBookActivity
import io.legato.kazusa.ui.main.MainActivity
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
object ShortCuts {
@@ -1,31 +1,31 @@
package io.legato.kazusa.api.controller
package io.legado.app.api.controller
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import androidx.core.graphics.drawable.toBitmap
import com.bumptech.glide.Glide
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 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 kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import splitties.init.appCtx
@@ -1,14 +1,14 @@
package io.legato.kazusa.api.controller
package io.legado.app.api.controller
import android.text.TextUtils
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
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
object BookSourceController {
@@ -1,12 +1,12 @@
package io.legato.kazusa.api.controller
package io.legado.app.api.controller
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
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
object ReplaceRuleController {
@@ -1,14 +1,14 @@
package io.legato.kazusa.api.controller
package io.legado.app.api.controller
import android.text.TextUtils
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
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
object RssSourceController {
@@ -1,16 +1,15 @@
package io.legato.kazusa.base
package io.legado.app.base
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import android.content.res.Configuration
import android.content.res.Resources
import android.os.Build
import android.os.LocaleList
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 io.legado.app.constant.PreferKey
import io.legado.app.utils.getPrefInt
import io.legado.app.utils.getPrefString
import io.legado.app.utils.sysConfiguration
import java.util.*
@@ -1,4 +1,4 @@
package io.legato.kazusa.base
package io.legado.app.base
import android.annotation.SuppressLint
import android.content.Context
@@ -21,26 +21,26 @@ import androidx.viewbinding.ViewBinding
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.color.DynamicColors
import com.google.android.material.color.DynamicColorsOptions
import io.legato.kazusa.R
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.constant.EventBus
import io.legato.kazusa.constant.PreferKey
import io.legato.kazusa.constant.Theme
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.config.ThemeConfig
import io.legato.kazusa.utils.applyOpenTint
import io.legato.kazusa.utils.applyTint
import io.legato.kazusa.utils.disableAutoFill
import io.legato.kazusa.utils.getPrefString
import io.legato.kazusa.utils.hideSoftInput
import io.legato.kazusa.utils.observeEvent
import io.legato.kazusa.utils.toastOnUi
import io.legato.kazusa.utils.windowSize
import io.legato.kazusa.lib.theme.primaryColor
import io.legato.kazusa.utils.fullScreen
import io.legato.kazusa.utils.setNavigationBarColorAuto
import io.legato.kazusa.utils.setStatusBarColorAuto
import io.legato.kazusa.utils.themeColor
import io.legado.app.R
import io.legado.app.constant.AppLog
import io.legado.app.constant.EventBus
import io.legado.app.constant.PreferKey
import io.legado.app.constant.Theme
import io.legado.app.help.config.AppConfig
import io.legado.app.help.config.ThemeConfig
import io.legado.app.utils.applyOpenTint
import io.legado.app.utils.applyTint
import io.legado.app.utils.disableAutoFill
import io.legado.app.utils.getPrefString
import io.legado.app.utils.hideSoftInput
import io.legado.app.utils.observeEvent
import io.legado.app.utils.toastOnUi
import io.legado.app.utils.windowSize
import io.legado.app.lib.theme.primaryColor
import io.legado.app.utils.fullScreen
import io.legado.app.utils.setNavigationBarColorAuto
import io.legado.app.utils.setStatusBarColorAuto
import io.legado.app.utils.themeColor
import java.io.File
@@ -1,4 +1,4 @@
package io.legato.kazusa.base
package io.legado.app.base
import android.content.DialogInterface
import android.content.DialogInterface.OnDismissListener
@@ -10,10 +10,10 @@ import androidx.fragment.app.FragmentManager
import androidx.lifecycle.lifecycleScope
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.help.coroutine.Coroutine
import io.legato.kazusa.utils.setNavigationBarColorAuto
import io.legato.kazusa.utils.themeColor
import io.legado.app.constant.AppLog
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.utils.setNavigationBarColorAuto
import io.legado.app.utils.themeColor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlin.coroutines.CoroutineContext

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