* 第一次上传 * 新增深度个性化设置-可以给主题选择自定义字体了 * 新增深度个性化设置-存在背景图片时,应用栏和导航栏会对背景图片进行模糊处理 * 新增深度个性化设置-主题颜色高度自定义 * 新增深度个性化设置-新增边框设置 * 合并后bug修复 # Conflicts: # app/build.gradle.kts # app/google-services.json # app/src/main/java/io/legado/app/constant/PreferKey.kt # app/src/main/java/io/legado/app/di/appModule.kt # app/src/main/java/io/legado/app/ui/book/bookmark/AllBookmarkScreen.kt # app/src/main/java/io/legado/app/ui/book/explore/ExploreShowScreen.kt # app/src/main/java/io/legado/app/ui/book/group/GroupEditSheet.kt # app/src/main/java/io/legado/app/ui/book/import/local/ImportBookScreen.kt # app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookScreen.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoContract.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoScreen.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoSheets.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt # app/src/main/java/io/legado/app/ui/book/manga/config/MangaClickActionConfigDialog.kt # app/src/main/java/io/legado/app/ui/book/read/config/ClickActionConfigDialog.kt # app/src/main/java/io/legado/app/ui/book/readRecord/ReadRecordScreen.kt # app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt # app/src/main/java/io/legado/app/ui/book/search/SearchScope.kt # app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt # app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentScreen.kt # app/src/main/java/io/legado/app/ui/book/toc/TocScreen.kt # app/src/main/java/io/legado/app/ui/book/toc/rule/TxtRuleScreen.kt # app/src/main/java/io/legado/app/ui/config/ConfigNavScreen.kt # app/src/main/java/io/legado/app/ui/config/coverConfig/CoverConfigScreen.kt # app/src/main/java/io/legado/app/ui/config/otherConfig/CheckSourceBottomSheet.kt # app/src/main/java/io/legado/app/ui/config/otherConfig/DirectLinkUploadBottomSheet.kt # app/src/main/java/io/legado/app/ui/config/readConfig/PageKeySheet.kt # app/src/main/java/io/legado/app/ui/config/themeConfig/BackgroundImageManageSheet.kt # app/src/main/java/io/legado/app/ui/config/themeConfig/ThemeConfig.kt # app/src/main/java/io/legado/app/ui/dict/rule/DictRuleScreen.kt # app/src/main/java/io/legado/app/ui/main/MainActivity.kt # app/src/main/java/io/legado/app/ui/main/bookshelf/BookItem.kt # app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt # app/src/main/java/io/legado/app/ui/main/bookshelf/GroupManageSheet.kt # app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt # app/src/main/java/io/legado/app/ui/main/my/MyScreen.kt # app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditScreen.kt # app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesScreen.kt # app/src/main/java/io/legado/app/ui/rss/subscription/RuleSubScreen.kt # app/src/main/java/io/legado/app/ui/theme/AdaptivePadding.kt # app/src/main/java/io/legado/app/ui/theme/AppBackground.kt # app/src/main/java/io/legado/app/ui/theme/AppTheme.kt # app/src/main/java/io/legado/app/ui/theme/HazeStyle.kt # app/src/main/java/io/legado/app/ui/theme/ImageSeedColorExtractor.kt # app/src/main/java/io/legado/app/ui/theme/LegadoTheme.kt # app/src/main/java/io/legado/app/ui/theme/ThemeColorSchemeOverride.kt # app/src/main/java/io/legado/app/ui/theme/ThemeOverride.kt # app/src/main/java/io/legado/app/ui/theme/Typography.kt # app/src/main/java/io/legado/app/ui/theme/hazeStyle/HazeLegado.kt # app/src/main/java/io/legado/app/ui/widget/components/AppNavigationBar.kt # app/src/main/java/io/legado/app/ui/widget/components/AppScaffold.kt # app/src/main/java/io/legado/app/ui/widget/components/AppTextField.kt # app/src/main/java/io/legado/app/ui/widget/components/SearchBarSection.kt # app/src/main/java/io/legado/app/ui/widget/components/SplicedColumnGroup.kt # app/src/main/java/io/legado/app/ui/widget/components/alert/AppAlertDialog.kt # app/src/main/java/io/legado/app/ui/widget/components/button/SmallIconButton.kt # app/src/main/java/io/legado/app/ui/widget/components/button/SmallTextButton.kt # app/src/main/java/io/legado/app/ui/widget/components/button/ToggleChip.kt # app/src/main/java/io/legado/app/ui/widget/components/card/GlassCard.kt # app/src/main/java/io/legado/app/ui/widget/components/card/SelectionItemCard.kt # app/src/main/java/io/legado/app/ui/widget/components/card/SettingCard.kt # app/src/main/java/io/legado/app/ui/widget/components/card/TextCard.kt # app/src/main/java/io/legado/app/ui/widget/components/checkBox/CheckboxItem.kt # app/src/main/java/io/legado/app/ui/widget/components/cover/BookCover.kt # app/src/main/java/io/legado/app/ui/widget/components/cover/BookshelfCover.kt # app/src/main/java/io/legado/app/ui/widget/components/cover/Cover.kt # app/src/main/java/io/legado/app/ui/widget/components/icon/AppIcons.kt # app/src/main/java/io/legado/app/ui/widget/components/menuItem/RoundDropdownMenu.kt # app/src/main/java/io/legado/app/ui/widget/components/menuItem/RoundDropdownMenuItem.kt # app/src/main/java/io/legado/app/ui/widget/components/rules/RuleListScaffold.kt # app/src/main/java/io/legado/app/ui/widget/components/settingItem/ClickableSettingItem.kt # app/src/main/java/io/legado/app/ui/widget/components/settingItem/SliderSettingItem.kt # app/src/main/java/io/legado/app/ui/widget/components/topbar/DynamicTopAppBar.kt # app/src/main/java/io/legado/app/ui/widget/components/topbar/GlassMediumFlexibleTopAppBar.kt # app/src/main/res/drawable/ic_add.xml # app/src/main/res/drawable/ic_add_online.xml # app/src/main/res/drawable/ic_arrange.xml # app/src/main/res/drawable/ic_arrow_down.xml # app/src/main/res/drawable/ic_arrow_right.xml # app/src/main/res/drawable/ic_cfg_about.xml # app/src/main/res/drawable/ic_cfg_backup.xml # app/src/main/res/drawable/ic_cfg_other.xml # app/src/main/res/drawable/ic_cfg_replace.xml # app/src/main/res/drawable/ic_cfg_source.xml # app/src/main/res/drawable/ic_cfg_theme.xml # app/src/main/res/drawable/ic_cfg_web.xml # app/src/main/res/drawable/ic_groups.xml # app/src/main/res/drawable/ic_help.xml # app/src/main/res/drawable/ic_more.xml # app/src/main/res/drawable/ic_search.xml # app/src/main/res/drawable/ic_view_quilt.xml # app/src/main/res/layout/dialog_tip_config.xml # app/src/main/res/layout/view_preference.xml # app/src/main/res/layout/view_preference_category.xml # app/src/main/res/values-zh-rCN/strings.xml # app/src/main/res/values-zh-rHK/strings.xml # app/src/main/res/values-zh-rTW/strings.xml # app/src/main/res/values/arrays.xml # app/src/main/res/values/strings.xml # app/src/main/res/xml/pref_main.xml # avd.sh # gradle.properties # gradle/libs.versions.toml # gradle/wrapper/gradle-wrapper.properties # gradlew # modules/web/index.html * 边框设置bug修复 # Conflicts: # app/build.gradle.kts # app/google-services.json # app/src/main/java/io/legado/app/constant/PreferKey.kt # app/src/main/java/io/legado/app/di/appModule.kt # app/src/main/java/io/legado/app/ui/book/bookmark/AllBookmarkScreen.kt # app/src/main/java/io/legado/app/ui/book/explore/ExploreShowScreen.kt # app/src/main/java/io/legado/app/ui/book/group/GroupEditSheet.kt # app/src/main/java/io/legado/app/ui/book/import/local/ImportBookScreen.kt # app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookScreen.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoContract.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoScreen.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoSheets.kt # app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt # app/src/main/java/io/legado/app/ui/book/manga/config/MangaClickActionConfigDialog.kt # app/src/main/java/io/legado/app/ui/book/read/config/ClickActionConfigDialog.kt # app/src/main/java/io/legado/app/ui/book/readRecord/ReadRecordScreen.kt # app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt # app/src/main/java/io/legado/app/ui/book/search/SearchScope.kt # app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt # app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentScreen.kt # app/src/main/java/io/legado/app/ui/book/toc/TocScreen.kt # app/src/main/java/io/legado/app/ui/book/toc/rule/TxtRuleScreen.kt # app/src/main/java/io/legado/app/ui/config/ConfigNavScreen.kt # app/src/main/java/io/legado/app/ui/config/coverConfig/CoverConfigScreen.kt # app/src/main/java/io/legado/app/ui/config/otherConfig/CheckSourceBottomSheet.kt # app/src/main/java/io/legado/app/ui/config/otherConfig/DirectLinkUploadBottomSheet.kt # app/src/main/java/io/legado/app/ui/config/readConfig/PageKeySheet.kt # app/src/main/java/io/legado/app/ui/config/themeConfig/BackgroundImageManageSheet.kt # app/src/main/java/io/legado/app/ui/config/themeConfig/ThemeConfig.kt # app/src/main/java/io/legado/app/ui/dict/rule/DictRuleScreen.kt # app/src/main/java/io/legado/app/ui/main/MainActivity.kt # app/src/main/java/io/legado/app/ui/main/bookshelf/BookItem.kt # app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt # app/src/main/java/io/legado/app/ui/main/bookshelf/GroupManageSheet.kt # app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt # app/src/main/java/io/legado/app/ui/main/my/MyScreen.kt # app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditScreen.kt # app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesScreen.kt # app/src/main/java/io/legado/app/ui/rss/subscription/RuleSubScreen.kt # app/src/main/java/io/legado/app/ui/theme/AdaptivePadding.kt # app/src/main/java/io/legado/app/ui/theme/AppBackground.kt # app/src/main/java/io/legado/app/ui/theme/AppTheme.kt # app/src/main/java/io/legado/app/ui/theme/HazeStyle.kt # app/src/main/java/io/legado/app/ui/theme/ImageSeedColorExtractor.kt # app/src/main/java/io/legado/app/ui/theme/LegadoTheme.kt # app/src/main/java/io/legado/app/ui/theme/ThemeColorSchemeOverride.kt # app/src/main/java/io/legado/app/ui/theme/ThemeOverride.kt # app/src/main/java/io/legado/app/ui/theme/Typography.kt # app/src/main/java/io/legado/app/ui/theme/hazeStyle/HazeLegado.kt # app/src/main/java/io/legado/app/ui/widget/components/AppNavigationBar.kt # app/src/main/java/io/legado/app/ui/widget/components/AppScaffold.kt # app/src/main/java/io/legado/app/ui/widget/components/AppTextField.kt # app/src/main/java/io/legado/app/ui/widget/components/SearchBarSection.kt # app/src/main/java/io/legado/app/ui/widget/components/SplicedColumnGroup.kt # app/src/main/java/io/legado/app/ui/widget/components/alert/AppAlertDialog.kt # app/src/main/java/io/legado/app/ui/widget/components/button/SmallIconButton.kt # app/src/main/java/io/legado/app/ui/widget/components/button/SmallTextButton.kt # app/src/main/java/io/legado/app/ui/widget/components/button/ToggleChip.kt # app/src/main/java/io/legado/app/ui/widget/components/card/GlassCard.kt # app/src/main/java/io/legado/app/ui/widget/components/card/SelectionItemCard.kt # app/src/main/java/io/legado/app/ui/widget/components/card/SettingCard.kt # app/src/main/java/io/legado/app/ui/widget/components/card/TextCard.kt # app/src/main/java/io/legado/app/ui/widget/components/checkBox/CheckboxItem.kt # app/src/main/java/io/legado/app/ui/widget/components/cover/BookCover.kt # app/src/main/java/io/legado/app/ui/widget/components/cover/BookshelfCover.kt # app/src/main/java/io/legado/app/ui/widget/components/cover/Cover.kt # app/src/main/java/io/legado/app/ui/widget/components/icon/AppIcons.kt # app/src/main/java/io/legado/app/ui/widget/components/menuItem/RoundDropdownMenu.kt # app/src/main/java/io/legado/app/ui/widget/components/menuItem/RoundDropdownMenuItem.kt # app/src/main/java/io/legado/app/ui/widget/components/rules/RuleListScaffold.kt # app/src/main/java/io/legado/app/ui/widget/components/settingItem/ClickableSettingItem.kt # app/src/main/java/io/legado/app/ui/widget/components/settingItem/SliderSettingItem.kt # app/src/main/java/io/legado/app/ui/widget/components/topbar/DynamicTopAppBar.kt # app/src/main/java/io/legado/app/ui/widget/components/topbar/GlassMediumFlexibleTopAppBar.kt # app/src/main/res/drawable/ic_add.xml # app/src/main/res/drawable/ic_add_online.xml # app/src/main/res/drawable/ic_arrange.xml # app/src/main/res/drawable/ic_arrow_down.xml # app/src/main/res/drawable/ic_arrow_right.xml # app/src/main/res/drawable/ic_cfg_about.xml # app/src/main/res/drawable/ic_cfg_backup.xml # app/src/main/res/drawable/ic_cfg_other.xml # app/src/main/res/drawable/ic_cfg_replace.xml # app/src/main/res/drawable/ic_cfg_source.xml # app/src/main/res/drawable/ic_cfg_theme.xml # app/src/main/res/drawable/ic_cfg_web.xml # app/src/main/res/drawable/ic_groups.xml # app/src/main/res/drawable/ic_help.xml # app/src/main/res/drawable/ic_more.xml # app/src/main/res/drawable/ic_search.xml # app/src/main/res/drawable/ic_view_quilt.xml # app/src/main/res/layout/dialog_tip_config.xml # app/src/main/res/layout/view_preference.xml # app/src/main/res/layout/view_preference_category.xml # app/src/main/res/values-zh-rCN/strings.xml # app/src/main/res/values-zh-rHK/strings.xml # app/src/main/res/values-zh-rTW/strings.xml # app/src/main/res/values/arrays.xml # app/src/main/res/values/strings.xml # app/src/main/res/xml/pref_main.xml # avd.sh # gradle.properties # gradle/libs.versions.toml # gradle/wrapper/gradle-wrapper.properties # gradlew # modules/web/index.html * 实现播放音频显示歌词,但是布局需要调整 * 优化音频显示布局 * 合并代码 * 合并主题色设置,新增主题保存 * 修改一下颜色设置 * 边框bug修复 * 悬浮胶囊主题颜色修复 * 给发现和订阅项增加边框 * 内置浏览器设置非全屏 * 实现正则表达式匹配字段高亮 * 增加自定义正则表达式匹配颜色 * 正则表达式配置持久化保存 * 更新下载路径 * 修复png透明图片 * 修改当前版本号 * 同步lyc版本订阅源功能 * 同步lyc版本订阅源功能 * 合并后修复 * 书架样式调整,但有bug * 合并后提交 * bug修复 * 订阅源日志修复 * 合并后修复 * 正文标题可以自定义字体 * 列表模式可以显示更多内容 * 实现自定义标签 * 主题背景和封面背景支持动图 * 自定义标签颜色 * 自定义标签颜色 * 主题保存bug修复 * 实现个性化主题设置的备份与恢复 * 页眉页脚可自定义字号,颜色,字体 * 边距设置 * bug修复 * 主题应用bug修复 * 虚线延展 * 模糊效果设置 * 字体页面新增搜索 * 描述性文字添加 * 列表简介内容显示 * 主题导入bug修复 * 标题可以自定义字体颜色 * 匹配自定义正则表达式规则文字的字体和颜色 * 匹配自定义正则表达式规则文字的字体和颜色bug修复 * 自定义底栏图标 * 自定义底栏图标bug修复 * 实现主题设置统一管理 * 实现主题设置统一管理界面美化 * 文件夹列表模式显示美化 * 底栏bug修复 * 底栏bug修复 * 底栏液化玻璃参数提取 * 主题管理删除当前阅读背景保存 * 主题管理bug修复 * 使用自定义封面时不动态取色 * 规范性更改 * 正确的数据库迁移schema * 移动设置项 * 书架优化 * 书架优化 * 删除 EmptyMessageView.kt — 已有 EmptyMessage 完全覆盖且功能更全,该文件为无效重复 EmptyMessageView 与 EmptyMessage 实现了完全相同的空状态 UI(Kaomoji 动画、加载指示器、消息文字),但 EmptyMessageView 缺少 buttonText/buttonImageVector/onButtonClick 参数,无任何调用者。 * 消除重复代码:提取共享的 loadFontFiles、JsonObject 扩展函数,删除无效重复的 EmptyMessageView 和 BookGroupUi 常量 - 删除 EmptyMessageView.kt(已有 EmptyMessage 完全覆盖,零调用者) - 提取 loadFontFiles 到 help/FontLoader.kt(消除 ThemeConfigScreen 和 FontSelectScreen 间的重复) - 提取 JsonObject.getString/getInt/getFloat/getBoolean 到 utils/JsonExtensions.kt(消除 3 个配置类中的三份相同实现) - 移除 BookGroupUi 中与 BookGroup 实体重复的 12 个 Id* 常量,改用直接引用 * 拆分大文件:提取 ThemePackSerializer 和 ThemeAppearanceJson 到独立文件 - 提取 ThemePackSerializer 到 help/config/ThemePackSerializer.kt(106 行),从 ThemePackConfig.kt 移除 - 提取 ThemeAppearanceJson 序列化对象到 help/config/ThemeAppearanceJson.kt(140 行),从 ThemeAppearanceConfig.kt 移除 - ThemePackConfig 从 440 行减少到约 325 行,ThemeAppearanceConfig 从 267 行减少到约 117 行 BookshelfViewModel 的拆分留待后续——涉及状态管理 refactor 需要更深入的并发模型理解。 * 提取共用模式:添加 SplicedColumnDivider 和 secondaryColorOr 共用函数 - SplicedColumnGroup.kt 新增 SplicedColumnDivider() composable,消除 5 个 SettingItem 文件中各 7 行重复的 divider 前导代码 - GlassDefaults.kt 新增 secondaryColorOr() composable,统一处理深度个性化 secondaryThemeColor 覆盖逻辑(该模式曾出现 12 次) TypefaceLoader 提取跳过——三个调用点(PageView/TextColumn/ChapterProvider)在缓存策略和系统字体回退上存在差异,需更仔细的并发分析。 * 修复架构问题:移动 RegexColorRule 和 TagColorGenerator 到正确包,提取 Haze containerColor - 将 RegexColorRule 从 ui/book/read/config 移至 help/config,消除 ReadBookConfig 对 UI 层的反向依赖 - 将 TagColorGenerator 从 help 移至 help/config,消除对 ui.config.themeConfig 的跨层级依赖 - HazeStyle 中 3 处重复的 containerColor 解析改用 GlassDefaults.secondaryColorOr * 书架优化 * 书架优化 * 书架优化 --------- Co-authored-by: HapeLee <63206378+HapeLee@users.noreply.github.com>
294 lines
17 KiB
TOML
294 lines
17 KiB
TOML
[versions]
|
||
|
||
accompanistWebview = "0.36.0"
|
||
adaptive = "1.3.0-alpha10"
|
||
adaptiveLayout = "1.3.0-alpha10"
|
||
adaptiveNavigation = "1.3.0-alpha10"
|
||
animation = "1.10.6"
|
||
biometric = "1.4.0-alpha06"
|
||
coilCompose = "2.7.0"
|
||
composeBom = "2026.03.01"
|
||
constraintlayoutCompose = "1.1.1"
|
||
coreSplashscreen = "1.2.0"
|
||
datastorePreferences = "1.2.1"
|
||
foundation = "1.10.6"
|
||
kotlin = "2.3.10"
|
||
kotlinxSerialization = "1.10.0"
|
||
kotlinxCoroutinesAndroid = "1.10.2"
|
||
kotlinxSerializationJson = "1.10.0"
|
||
kotlinxCollectionsImmutable = "0.4.0"
|
||
ksp = "2.3.6"
|
||
agp = "9.1.1"
|
||
appcompat = "1.7.1"
|
||
colorpicker = "1.1.0"
|
||
colorpicker-compose = "1.1.3"
|
||
commonsText = "1.15.0"
|
||
constraintlayout = "2.2.1"
|
||
core = "1.18.0"
|
||
firebaseBom = "34.6.0"
|
||
flexbox = "3.0.0"
|
||
fragment = "1.8.9"
|
||
|
||
#不要更新版本
|
||
hutool = "5.8.22"
|
||
|
||
libarchive = "1.1.6"
|
||
lifecycle = "2.10.0"
|
||
glide = "5.0.5"
|
||
gson = "2.13.2"
|
||
jsonPath = "2.10.0"
|
||
# issue #3811,不要更新版本,新版引入了一个破坏性变更(详见https://github.com/jhy/jsoup/pull/2017)
|
||
# 若要升级请确保相关代码不会受此变更影响(如AnalyzeByJSoup.kt、JsoupXpath库等)
|
||
jsoup = "1.16.2"
|
||
jsoupxpath = "2.5.3"
|
||
coroutines = "1.10.2"
|
||
lifecycleViewmodelCompose = "2.10.0"
|
||
liveeventbus = "1.8.14"
|
||
navigation3 = "1.0.1"
|
||
markdownCompose = "0.5.0"
|
||
markwon = "4.6.2"
|
||
material = "1.14.0-beta01"
|
||
material3 = "1.5.0-alpha17"
|
||
material3IconsExtended = "1.7.8"
|
||
materialKolor = "4.1.1"
|
||
media = "1.7.1"
|
||
media3 = "1.8.0"
|
||
nanoHttpd = "2.3.1"
|
||
navigationCompose = "2.9.7"
|
||
okhttp = "5.3.2"
|
||
palette = "1.0.0"
|
||
preference = "1.2.1"
|
||
protobufJavalite = "4.26.1"
|
||
quickChineseTransfer = "0.2.16"
|
||
room = "2.8.4"
|
||
splitties = "3.0.0"
|
||
rhino = "1.8.1"
|
||
desugar = "2.1.5"
|
||
|
||
activity = "1.13.0"
|
||
#kotlinxSerialization = "1.8.0"
|
||
startupRuntime = "1.2.0"
|
||
swiperefreshlayout = "1.2.0"
|
||
#noinspection GradleDependency
|
||
recyclerview = "1.4.0"
|
||
#noinspection GradleDependency
|
||
uiViewbinding = "1.9.4"
|
||
viewpager2 = "1.1.0"
|
||
webkit = "1.15.0"
|
||
collection = "1.6.0"
|
||
|
||
zxingLite = "3.3.0"
|
||
|
||
koin-bom = "4.2.0"
|
||
biometricKtx = "1.1.0"
|
||
|
||
reorderable = "3.0.0"
|
||
haze = "1.7.2"
|
||
timber = "5.0.1"
|
||
miuix = "0.9.0"
|
||
backdrop = "1.0.6"
|
||
capsule = "2.1.3"
|
||
lyricViewx = "1.3.2"
|
||
[libraries]
|
||
|
||
accompanist-webview = { module = "com.google.accompanist:accompanist-webview", version.ref = "accompanistWebview" }
|
||
activity-activity = { module = "androidx.activity:activity", version.ref = "activity" }
|
||
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity" }
|
||
activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "activity" }
|
||
|
||
androidx-activity-compose = { module = "androidx.activity:activity-compose" }
|
||
androidx-annotation = { group = "androidx.annotation", name = "annotation", version = "1.9.1" }
|
||
#androidx-annotation-experimental = { group = "androidx.annotation", name = "annotation-experimental", version = "1.3.1" }
|
||
|
||
androidx-biometric = { module = "androidx.biometric:biometric", version.ref = "biometric" }
|
||
androidx-collection = { module = "androidx.collection:collection", version.ref = "collection" }
|
||
androidx-compose-adaptive = { module = "androidx.compose.material3.adaptive:adaptive", version.ref = "adaptive" }
|
||
androidx-compose-adaptive-layout = { module = "androidx.compose.material3.adaptive:adaptive-layout", version.ref = "adaptiveLayout" }
|
||
androidx-compose-adaptive-navigation = { module = "androidx.compose.material3.adaptive:adaptive-navigation", version.ref = "adaptiveNavigation" }
|
||
androidx-compose-animation = { module = "androidx.compose.animation:animation", version.ref = "animation" }
|
||
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" }
|
||
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "foundation" }
|
||
androidx-compose-material = { module = "androidx.compose.material:material" }
|
||
androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "navigation3" }
|
||
androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "navigation3" }
|
||
compose-materialIcons = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "material3IconsExtended" }
|
||
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "material3" }
|
||
androidx-compose-ui = { module = "androidx.compose.ui:ui" }
|
||
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
|
||
androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
|
||
androidx-compose-ui-viewbinding = { module = "androidx.compose.ui:ui-viewbinding", version.ref = "uiViewbinding" }
|
||
androidx-constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "constraintlayoutCompose" }
|
||
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "coreSplashscreen" }
|
||
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" }
|
||
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose" }
|
||
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleViewmodelCompose" }
|
||
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
|
||
androidx-palette = { module = "androidx.palette:palette", version.ref = "palette" }
|
||
androidx-startup-runtime = { module = "androidx.startup:startup-runtime", version.ref = "startupRuntime" }
|
||
appcompat-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
|
||
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
|
||
|
||
haze-core = { module = "dev.chrisbanes.haze:haze", version.ref = "haze" }
|
||
haze-materials = { module = "dev.chrisbanes.haze:haze-materials", version.ref = "haze" }
|
||
kmp-miuix-preference = { module = "top.yukonga.miuix.kmp:miuix-preference" }
|
||
kmp-miuix-ui = { module = "top.yukonga.miuix.kmp:miuix-ui" }
|
||
koin-bom = { module = "io.insert-koin:koin-bom", version.ref = "koin-bom" }
|
||
koin-core = { module = "io.insert-koin:koin-core" }
|
||
koin-android = { group = "io.insert-koin", name = "koin-android" }
|
||
koin-compose = { group = "io.insert-koin", name = "koin-androidx-compose" }
|
||
koin-compose-viewmodel = { group = "io.insert-koin", name = "koin-compose-viewmodel" }
|
||
|
||
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coilCompose" }
|
||
coil-gif = { module = "io.coil-kt:coil-gif", version.ref = "coilCompose" }
|
||
coil-svg = { module = "io.coil-kt:coil-svg", version.ref = "coilCompose" }
|
||
core-core = { module = "androidx.core:core", version.ref = "core" }
|
||
core-ktx = { module = "androidx.core:core-ktx", version.ref = "core" }
|
||
|
||
androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version = "3.7.0" }
|
||
|
||
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
|
||
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
|
||
firebase-perf = { module = "com.google.firebase:firebase-perf" }
|
||
|
||
|
||
fragment-fragment = { module = "androidx.fragment:fragment", version.ref = "fragment" }
|
||
fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragment" }
|
||
fragment-testing = { module = "androidx.fragment:fragment-testing", version.ref = "fragment" }
|
||
|
||
androidx-junit = { module = "androidx.test.ext:junit", version = "1.3.0" }
|
||
|
||
hutool-crypto = { module = "cn.hutool:hutool-crypto", version.ref = "hutool" }
|
||
|
||
kotlinx-coroutines-android-v181 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
|
||
kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinxCollectionsImmutable" }
|
||
kotlinx-serialization-json-v163 = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
|
||
libarchive = { module = "me.zhanghai.android.libarchive:library", version.ref = "libarchive" }
|
||
lifecycle-common-java8 = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref = "lifecycle" }
|
||
lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "lifecycle" }
|
||
|
||
markdown-compose = { module = "com.mikepenz:markdown-compose", version.ref = "markdownCompose" }
|
||
material-kolor = { module = "com.materialkolor:material-kolor", version.ref = "materialKolor" }
|
||
media-media = { module = "androidx.media:media", version.ref = "media" }
|
||
media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" }
|
||
media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
|
||
media3-session = { module = "androidx.media3:media3-session", version.ref = "media3" }
|
||
|
||
markwon-core = { module = "io.noties.markwon:core", version.ref = "markwon" }
|
||
markwon-image-glide = { module = "io.noties.markwon:image-glide", version.ref = "markwon" }
|
||
markwon-ext-tables = { module = "io.noties.markwon:ext-tables", version.ref = "markwon" }
|
||
markwon-html = { module = "io.noties.markwon:html", version.ref = "markwon" }
|
||
|
||
nanohttpd-nanohttpd = { module = "org.nanohttpd:nanohttpd", version.ref = "nanoHttpd" }
|
||
nanohttpd-websocket = { module = "org.nanohttpd:nanohttpd-websocket", version.ref = "nanoHttpd" }
|
||
|
||
navigation-compose = { module = "androidx.navigation:navigation-compose" }
|
||
preference-preference = { module = "androidx.preference:preference", version.ref = "preference" }
|
||
preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "preference" }
|
||
|
||
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
|
||
protobuf-javalite = { module = "com.google.protobuf:protobuf-javalite", version.ref = "protobufJavalite" }
|
||
|
||
quick-chinese-transfer-core = { module = "com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core", version.ref = "quickChineseTransfer" }
|
||
|
||
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
|
||
room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
|
||
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
|
||
room-testing = { module = "androidx.room:room-testing", version.ref = "room" }
|
||
|
||
glide-glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
|
||
glide-okhttp= { module = "com.github.bumptech.glide:okhttp3-integration", version.ref ="glide" }
|
||
glide-recyclerview={module="com.github.bumptech.glide:recyclerview-integration",version.ref="glide"}
|
||
glide-compiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glide" }
|
||
glide-compose = { module = "com.github.bumptech.glide:compose", version = "1.0.0-beta08" }
|
||
glide-ksp = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
|
||
glide-avif = { module = "com.github.bumptech.glide:avif-integration", version.ref = "glide" }
|
||
avif = { module = "org.aomedia.avif.android:avif", version = "1.3.0.841110fd" }
|
||
glide-svg = { module = "com.github.qoqa:glide-svg", version = "4.0.2" }
|
||
androidsvg = { module = "com.caverock:androidsvg-aar", version = "1.4" }
|
||
|
||
splitties-appctx = { module = "com.louiscad.splitties:splitties-appctx", version.ref = "splitties" }
|
||
splitties-activities = { module = "com.louiscad.splitties:splitties-activities", version.ref = "splitties" }
|
||
splitties-systemservices = { module = "com.louiscad.splitties:splitties-systemservices", version.ref = "splitties" }
|
||
splitties-views = { module = "com.louiscad.splitties:splitties-views", version.ref = "splitties" }
|
||
|
||
androidx-runner = { module = "androidx.test:runner", version = "1.7.0" }
|
||
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
|
||
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
|
||
androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version.ref = "viewpager2" }
|
||
androidx-webkit = { module = "androidx.webkit:webkit", version.ref = "webkit" }
|
||
colorpicker = { module = "com.jaredrummler:colorpicker", version.ref = "colorpicker" }
|
||
colorpicker-compose = { module = "com.github.skydoves:colorpicker-compose", version.ref = "colorpicker-compose" }
|
||
commons-text = { module = "org.apache.commons:commons-text", version.ref = "commonsText" }
|
||
desugar = { group = "com.android.tools", name = "desugar_jdk_libs_nio", version.ref = "desugar" }
|
||
|
||
flexbox = { module = "com.google.android.flexbox:flexbox", version.ref = "flexbox" }
|
||
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
|
||
json-path = { module = "com.jayway.jsonpath:json-path", version.ref = "jsonPath" }
|
||
jsoup = { module = "org.jsoup:jsoup", version.ref = "jsoup" }
|
||
jsoupxpath = { module = "cn.wanghaomiao:JsoupXpath", version.ref = "jsoupxpath" }
|
||
junit = { module = "junit:junit", version = "4.13.2" }
|
||
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
|
||
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
|
||
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
|
||
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
||
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
|
||
|
||
|
||
#kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
|
||
#kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "kotlinxSerialization" }
|
||
liveeventbus = { module = "com.github.michaellee123:LiveEventBus", version.ref = "liveeventbus" }
|
||
material = { module = "com.google.android.material:material", version.ref = "material" }
|
||
|
||
mozilla-rhino = { module = "org.mozilla:rhino", version.ref = "rhino" }
|
||
renderscript-intrinsics-replacement-toolkit = { module = "com.github.TomasValenta:renderscript-intrinsics-replacement-toolkit", version = "8eaa829ddd" }
|
||
zxing-lite = { module = "com.github.jenly1314:zxing-lite", version.ref = "zxingLite" }
|
||
androidx-biometric-ktx = { group = "androidx.biometric", name = "biometric-ktx", version.ref = "biometricKtx" }
|
||
|
||
reorderable = { module = "sh.calvin.reorderable:reorderable", version.ref = "reorderable" }
|
||
|
||
# log
|
||
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
|
||
|
||
# miuix
|
||
miuix-core = { module = "top.yukonga.miuix.kmp:miuix-core", version.ref = "miuix" }
|
||
miuix-blur-android = { module = "top.yukonga.miuix.kmp:miuix-blur-android", version.ref = "miuix" }
|
||
miuix-icons-android = { module = "top.yukonga.miuix.kmp:miuix-icons-android", version.ref = "miuix" }
|
||
miuix-preference-android = { module = "top.yukonga.miuix.kmp:miuix-preference-android", version.ref = "miuix" }
|
||
miuix-shapes-android = { module = "top.yukonga.miuix.kmp:miuix-shapes-android", version.ref = "miuix" }
|
||
miuix-ui-android = { module = "top.yukonga.miuix.kmp:miuix-ui-android", version.ref = "miuix" }
|
||
|
||
capsule = { module = "io.github.kyant0:capsule", version.ref = "capsule" }
|
||
backdrop = { module = "io.github.kyant0:backdrop", version.ref = "backdrop" }
|
||
lyricViewx = { module = "com.github.Moriafly:LyricViewX", version.ref = "lyricViewx" }
|
||
|
||
[bundles]
|
||
coroutines = ["kotlinx-coroutines-core", "kotlinx-coroutines-android"]
|
||
androidTest = ["androidx-espresso-core", "androidx-junit", "androidx-runner"]
|
||
|
||
[plugins]
|
||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||
android-library = { id = "com.android.library", version.ref = "agp" }
|
||
android-test = { id = "com.android.test", version.ref = "agp" }
|
||
|
||
#androidx-benchmark = { id = "androidx.benchmark", version = "1.3.3" }
|
||
|
||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
|
||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||
kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" }
|
||
kotlin-noarg = { id = "org.jetbrains.kotlin.plugin.noarg", version.ref = "kotlin" }
|
||
kotlin-sam = { id = "org.jetbrains.kotlin.plugin.sam.with.receiver", version.ref = "kotlin" }
|
||
kotlin-lombok = { id = "org.jetbrains.kotlin.plugin.lombok", version.ref = "kotlin" }
|
||
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
||
|
||
google-services = { id = "com.google.gms.google-services", version = "4.4.4" }
|
||
|
||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||
room = { id = "androidx.room", version.ref = "room" }
|
||
|
||
#protobuf = { id = "com.google.protobuf", version = "0.9.4" }
|
||
|
||
download = { id = "de.undercouch.download", version = "5.6.0" }
|