Explorar o código

更新依赖
更新部分界面

HapeLee hai 1 ano
pai
achega
781615c777
Modificáronse 31 ficheiros con 126 adicións e 101 borrados
  1. 0 1
      app/build.gradle
  2. 1 2
      app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt
  3. 1 1
      app/src/main/java/io/legato/kazusa/ui/about/AboutActivity.kt
  4. 2 1
      app/src/main/java/io/legato/kazusa/ui/book/bookmark/BookmarkDecoration.kt
  5. 6 11
      app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt
  6. 1 1
      app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt
  7. 0 2
      app/src/main/java/io/legato/kazusa/ui/book/manga/recyclerview/MangaAdapter.kt
  8. 1 1
      app/src/main/java/io/legato/kazusa/ui/book/read/ReadMenu.kt
  9. 1 3
      app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt
  10. 2 3
      app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt
  11. 1 2
      app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt
  12. 3 4
      app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt
  13. 2 2
      app/src/main/java/io/legato/kazusa/ui/dict/DictDialog.kt
  14. 7 4
      app/src/main/java/io/legato/kazusa/ui/widget/recycler/scroller/FastScroller.kt
  15. 1 1
      app/src/main/res/layout-land/activity_main.xml
  16. 3 1
      app/src/main/res/layout/activity_manga.xml
  17. 4 4
      app/src/main/res/layout/dialog_add_to_bookshelf.xml
  18. 9 0
      app/src/main/res/layout/dialog_book_change_source.xml
  19. 1 1
      app/src/main/res/layout/dialog_book_group_edit.xml
  20. 4 4
      app/src/main/res/layout/dialog_book_group_picker.xml
  21. 2 2
      app/src/main/res/layout/dialog_bookshelf_config.xml
  22. 37 19
      app/src/main/res/layout/dialog_dict.xml
  23. 4 5
      app/src/main/res/layout/dialog_wait.xml
  24. 4 5
      app/src/main/res/layout/item_book_manga_page.xml
  25. 6 3
      app/src/main/res/layout/view_load_more.xml
  26. 5 3
      app/src/main/res/layout/view_loading.xml
  27. 4 3
      app/src/main/res/layout/view_theme_mode.xml
  28. 1 1
      app/src/main/res/values-night/themes.xml
  29. 2 2
      app/src/main/res/values/themes.xml
  30. 2 0
      gradle.properties
  31. 9 9
      gradle/libs.versions.toml

+ 0 - 1
app/build.gradle

@@ -186,7 +186,6 @@ dependencies {
     //noinspection GradleDependency,DifferentStdlibGradleVersion
     //noinspection GradleDependency,DifferentStdlibGradleVersion
     //implementation(libs.kotlin.reflect)
     //implementation(libs.kotlin.reflect)
 
 
-
     //协程
     //协程
     //def coroutines_version = '1.7.3'
     //def coroutines_version = '1.7.3'
     implementation(libs.bundles.coroutines)
     implementation(libs.bundles.coroutines)

+ 1 - 2
app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt

@@ -15,7 +15,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
 import com.google.android.material.card.MaterialCardView
 import com.google.android.material.card.MaterialCardView
 import io.legato.kazusa.R
 import io.legato.kazusa.R
-import androidx.core.graphics.toColorInt
 import io.legato.kazusa.constant.EventBus
 import io.legato.kazusa.constant.EventBus
 import io.legato.kazusa.utils.postEvent
 import io.legato.kazusa.utils.postEvent
 
 
@@ -106,7 +105,7 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co
             com.google.android.material.R.attr.colorSecondaryContainer,
             com.google.android.material.R.attr.colorSecondaryContainer,
             com.google.android.material.R.attr.colorSecondaryVariant,
             com.google.android.material.R.attr.colorSecondaryVariant,
             com.google.android.material.R.attr.colorSurfaceContainer,
             com.google.android.material.R.attr.colorSurfaceContainer,
-            com.google.android.material.R.attr.colorPrimary,
+            androidx.appcompat.R.attr.colorPrimary,
             com.google.android.material.R.attr.colorOnSurfaceVariant,
             com.google.android.material.R.attr.colorOnSurfaceVariant,
             com.google.android.material.R.attr.colorSurface,
             com.google.android.material.R.attr.colorSurface,
             com.google.android.material.R.attr.colorSecondaryContainer,
             com.google.android.material.R.attr.colorSecondaryContainer,

+ 1 - 1
app/src/main/java/io/legato/kazusa/ui/about/AboutActivity.kt

@@ -34,7 +34,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
                 val typedValue = TypedValue()
                 val typedValue = TypedValue()
                 val context = binding.root.context
                 val context = binding.root.context
                 context.theme.resolveAttribute(
                 context.theme.resolveAttribute(
-                    com.google.android.material.R.attr.colorPrimary,
+                    androidx.appcompat.R.attr.colorPrimary,
                     typedValue,
                     typedValue,
                     true
                     true
                 )
                 )

+ 2 - 1
app/src/main/java/io/legato/kazusa/ui/book/bookmark/BookmarkDecoration.kt

@@ -29,7 +29,8 @@ class BookmarkDecoration(
 
 
     private val textPaint = TextPaint().apply {
     private val textPaint = TextPaint().apply {
         textSize = 16f.spToPx()
         textSize = 16f.spToPx()
-        color = MaterialColors.getColor(context, com.google.android.material.R.attr.colorPrimary, Color.BLACK)
+        color =
+            MaterialColors.getColor(context, androidx.appcompat.R.attr.colorPrimary, Color.BLACK)
         isAntiAlias = true
         isAntiAlias = true
     }
     }
 
 

+ 6 - 11
app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt

@@ -1,11 +1,11 @@
 package io.legato.kazusa.ui.book.changesource
 package io.legato.kazusa.ui.book.changesource
 
 
+//import io.legado.app.lib.theme.getPrimaryTextColor
+//import io.legado.app.lib.theme.primaryColor
 import android.os.Bundle
 import android.os.Bundle
 import android.view.Menu
 import android.view.Menu
 import android.view.MenuItem
 import android.view.MenuItem
 import android.view.View
 import android.view.View
-import android.view.ViewGroup
-import android.widget.ImageButton
 import androidx.appcompat.widget.SearchView
 import androidx.appcompat.widget.SearchView
 import androidx.appcompat.widget.Toolbar
 import androidx.appcompat.widget.Toolbar
 import androidx.core.os.bundleOf
 import androidx.core.os.bundleOf
@@ -18,7 +18,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
 import io.legato.kazusa.R
 import io.legato.kazusa.R
 import io.legato.kazusa.base.BaseBottomSheetDialogFragment
 import io.legato.kazusa.base.BaseBottomSheetDialogFragment
-import io.legato.kazusa.base.BaseDialogFragment
 import io.legato.kazusa.constant.AppLog
 import io.legato.kazusa.constant.AppLog
 import io.legato.kazusa.constant.EventBus
 import io.legato.kazusa.constant.EventBus
 import io.legato.kazusa.data.appDb
 import io.legato.kazusa.data.appDb
@@ -29,8 +28,6 @@ import io.legato.kazusa.data.entities.SearchBook
 import io.legato.kazusa.databinding.DialogBookChangeSourceBinding
 import io.legato.kazusa.databinding.DialogBookChangeSourceBinding
 import io.legato.kazusa.help.config.AppConfig
 import io.legato.kazusa.help.config.AppConfig
 import io.legato.kazusa.lib.dialogs.alert
 import io.legato.kazusa.lib.dialogs.alert
-//import io.legado.app.lib.theme.getPrimaryTextColor
-//import io.legado.app.lib.theme.primaryColor
 import io.legato.kazusa.ui.book.read.ReadBookActivity
 import io.legato.kazusa.ui.book.read.ReadBookActivity
 import io.legato.kazusa.ui.book.source.edit.BookSourceEditActivity
 import io.legato.kazusa.ui.book.source.edit.BookSourceEditActivity
 import io.legato.kazusa.ui.book.source.manage.BookSourceActivity
 import io.legato.kazusa.ui.book.source.manage.BookSourceActivity
@@ -41,7 +38,6 @@ import io.legato.kazusa.utils.applyTint
 import io.legato.kazusa.utils.dpToPx
 import io.legato.kazusa.utils.dpToPx
 import io.legato.kazusa.utils.getCompatDrawable
 import io.legato.kazusa.utils.getCompatDrawable
 import io.legato.kazusa.utils.observeEvent
 import io.legato.kazusa.utils.observeEvent
-import io.legato.kazusa.utils.setLayout
 import io.legato.kazusa.utils.startActivity
 import io.legato.kazusa.utils.startActivity
 import io.legato.kazusa.utils.transaction
 import io.legato.kazusa.utils.transaction
 import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
 import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
@@ -95,11 +91,6 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
         }
         }
     }
     }
 
 
-    override fun onStart() {
-        super.onStart()
-        //setLayout(1f, ViewGroup.LayoutParams.MATCH_PARENT)
-    }
-
     override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
     override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
         //binding.toolBar.setBackgroundColor(primaryColor)
         //binding.toolBar.setBackgroundColor(primaryColor)
         viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
         viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
@@ -234,6 +225,10 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
             repeatOnLifecycle(STARTED) {
             repeatOnLifecycle(STARTED) {
                 viewModel.searchDataFlow.conflate().collect {
                 viewModel.searchDataFlow.conflate().collect {
                     adapter.setItems(it)
                     adapter.setItems(it)
+
+                    binding.loadingIndicator.isVisible = it.isEmpty()
+                    binding.recyclerView.isVisible = it.isNotEmpty()
+
                     delay(1000)
                     delay(1000)
                 }
                 }
             }
             }

+ 1 - 1
app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt

@@ -33,7 +33,7 @@ class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
             val isDur = durChapterIndex == item.index
             val isDur = durChapterIndex == item.index
 
 
             if (isDur) {
             if (isDur) {
-                tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorPrimary))
+                tvChapterName.setTextColor(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
             } else {
             } else {
                 tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
                 tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
             }
             }

+ 0 - 2
app/src/main/java/io/legato/kazusa/ui/book/manga/recyclerview/MangaAdapter.kt

@@ -152,8 +152,6 @@ class MangaAdapter(private val context: Context) :
         }
         }
     }
     }
 
 
-
-
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
         return when {
         return when {
             viewType >= TYPE_FOOTER_VIEW -> {
             viewType >= TYPE_FOOTER_VIEW -> {

+ 1 - 1
app/src/main/java/io/legato/kazusa/ui/book/read/ReadMenu.kt

@@ -265,7 +265,7 @@ class ReadMenu @JvmOverloads constructor(
 
 
     fun upBrightnessState() {
     fun upBrightnessState() {
         if (brightnessAuto()) {
         if (brightnessAuto()) {
-            binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorPrimary))
+            binding.ivBrightnessAuto.setColorFilter(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
             binding.seekBrightness.isEnabled = false
             binding.seekBrightness.isEnabled = false
         } else {
         } else {
             binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
             binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorOnSurface))

+ 1 - 3
app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt

@@ -1,13 +1,11 @@
 package io.legato.kazusa.ui.book.read.page
 package io.legato.kazusa.ui.book.read.page
 
 
-import android.content.Context
 import android.graphics.Canvas
 import android.graphics.Canvas
 import android.graphics.Paint
 import android.graphics.Paint
 import android.os.SystemClock
 import android.os.SystemClock
 import androidx.core.graphics.withClip
 import androidx.core.graphics.withClip
 import io.legato.kazusa.help.config.AppConfig
 import io.legato.kazusa.help.config.AppConfig
 import io.legato.kazusa.help.config.ReadBookConfig
 import io.legato.kazusa.help.config.ReadBookConfig
-import io.legato.kazusa.lib.theme.ThemeStore
 import io.legato.kazusa.ui.book.read.page.entities.PageDirection
 import io.legato.kazusa.ui.book.read.page.entities.PageDirection
 import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
 import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
 import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded
 import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded
@@ -31,7 +29,7 @@ class AutoPager(
 
 
     fun start() {
     fun start() {
         isRunning = true
         isRunning = true
-        paint.color = readView.context.themeColor(com.google.android.material.R.attr.colorPrimary)
+        paint.color = readView.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
         lastTimeMillis = SystemClock.uptimeMillis()
         lastTimeMillis = SystemClock.uptimeMillis()
         readView.curPage.upSelectAble(false)
         readView.curPage.upSelectAble(false)
         readView.invalidate()
         readView.invalidate()

+ 2 - 3
app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt

@@ -9,7 +9,6 @@ import io.legato.kazusa.help.PaintPool
 import io.legato.kazusa.help.book.isImage
 import io.legato.kazusa.help.book.isImage
 import io.legato.kazusa.help.config.AppConfig
 import io.legato.kazusa.help.config.AppConfig
 import io.legato.kazusa.help.config.ReadBookConfig
 import io.legato.kazusa.help.config.ReadBookConfig
-import io.legato.kazusa.lib.theme.ThemeStore
 import io.legato.kazusa.model.ReadBook
 import io.legato.kazusa.model.ReadBook
 import io.legato.kazusa.ui.book.read.page.ContentTextView
 import io.legato.kazusa.ui.book.read.page.ContentTextView
 import io.legato.kazusa.ui.book.read.page.entities.TextPage.Companion.emptyTextPage
 import io.legato.kazusa.ui.book.read.page.entities.TextPage.Companion.emptyTextPage
@@ -174,7 +173,7 @@ data class TextLine(
             ChapterProvider.contentPaint
             ChapterProvider.contentPaint
         }
         }
         val textColor = if (isReadAloud) {
         val textColor = if (isReadAloud) {
-            view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
+            view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
         } else {
         } else {
             ReadBookConfig.textColor
             ReadBookConfig.textColor
         }
         }
@@ -242,7 +241,7 @@ data class TextLine(
     @SuppressLint("NewApi")
     @SuppressLint("NewApi")
     companion object {
     companion object {
         val emptyTextLine = TextLine()
         val emptyTextLine = TextLine()
-        private val atLeastApi26 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
+        private val atLeastApi26 = true
         private val atLeastApi35 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
         private val atLeastApi35 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
         private val wordSpacingWorking by lazy {
         private val wordSpacingWorking by lazy {
             // issue 3785 3846
             // issue 3785 3846

+ 1 - 2
app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt

@@ -4,7 +4,6 @@ import android.graphics.Canvas
 import android.os.Build
 import android.os.Build
 import androidx.annotation.Keep
 import androidx.annotation.Keep
 import io.legato.kazusa.help.config.ReadBookConfig
 import io.legato.kazusa.help.config.ReadBookConfig
-import io.legato.kazusa.lib.theme.ThemeStore
 import io.legato.kazusa.ui.book.read.page.ContentTextView
 import io.legato.kazusa.ui.book.read.page.ContentTextView
 import io.legato.kazusa.ui.book.read.page.entities.TextLine
 import io.legato.kazusa.ui.book.read.page.entities.TextLine
 import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine
 import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine
@@ -50,7 +49,7 @@ data class TextColumn(
             ChapterProvider.contentPaint
             ChapterProvider.contentPaint
         }
         }
         val textColor = if (textLine.isReadAloud || isSearchResult) {
         val textColor = if (textLine.isReadAloud || isSearchResult) {
-            view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
+            view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
         } else {
         } else {
             ReadBookConfig.textColor
             ReadBookConfig.textColor
         }
         }

+ 3 - 4
app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt

@@ -1,13 +1,11 @@
 package io.legato.kazusa.ui.book.searchContent
 package io.legato.kazusa.ui.book.searchContent
 
 
+//import io.legado.app.lib.theme.accentColor
 import android.content.Context
 import android.content.Context
 import android.view.ViewGroup
 import android.view.ViewGroup
-import io.legato.kazusa.R
 import io.legato.kazusa.base.adapter.ItemViewHolder
 import io.legato.kazusa.base.adapter.ItemViewHolder
 import io.legato.kazusa.base.adapter.RecyclerAdapter
 import io.legato.kazusa.base.adapter.RecyclerAdapter
 import io.legato.kazusa.databinding.ItemSearchListBinding
 import io.legato.kazusa.databinding.ItemSearchListBinding
-//import io.legado.app.lib.theme.accentColor
-import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.hexString
 import io.legato.kazusa.utils.hexString
 import io.legato.kazusa.utils.themeColor
 import io.legato.kazusa.utils.themeColor
 
 
@@ -16,7 +14,8 @@ class SearchContentAdapter(context: Context, val callback: Callback) :
     RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
     RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
 
 
     val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2)
     val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2)
-    val accentColor = context.themeColor(com.google.android.material.R.attr.colorPrimary).hexString.substring(2)
+    val accentColor =
+        context.themeColor(androidx.appcompat.R.attr.colorPrimary).hexString.substring(2)
 
 
     override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
     override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
         return ItemSearchListBinding.inflate(inflater, parent, false)
         return ItemSearchListBinding.inflate(inflater, parent, false)

+ 2 - 2
app/src/main/java/io/legato/kazusa/ui/dict/DictDialog.kt

@@ -9,7 +9,7 @@ import io.legato.kazusa.R
 import io.legato.kazusa.base.BaseBottomSheetDialogFragment
 import io.legato.kazusa.base.BaseBottomSheetDialogFragment
 import io.legato.kazusa.data.entities.DictRule
 import io.legato.kazusa.data.entities.DictRule
 import io.legato.kazusa.databinding.DialogDictBinding
 import io.legato.kazusa.databinding.DialogDictBinding
-import io.legato.kazusa.utils.invisible
+import io.legato.kazusa.utils.gone
 import io.legato.kazusa.utils.setHtml
 import io.legato.kazusa.utils.setHtml
 import io.legato.kazusa.utils.toastOnUi
 import io.legato.kazusa.utils.toastOnUi
 import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
 import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
@@ -53,7 +53,7 @@ class DictDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_dict) {
                 val dictRule = tab.tag as DictRule
                 val dictRule = tab.tag as DictRule
                 binding.rotateLoading.visible()
                 binding.rotateLoading.visible()
                 viewModel.dict(dictRule, word!!) {
                 viewModel.dict(dictRule, word!!) {
-                    binding.rotateLoading.invisible()
+                    binding.rotateLoading.gone()
                     binding.tvDict.setHtml(it)
                     binding.tvDict.setHtml(it)
                 }
                 }
             }
             }

+ 7 - 4
app/src/main/java/io/legato/kazusa/ui/widget/recycler/scroller/FastScroller.kt

@@ -1,5 +1,6 @@
 package io.legato.kazusa.ui.widget.recycler.scroller
 package io.legato.kazusa.ui.widget.recycler.scroller
 
 
+//import io.legado.app.lib.theme.accentColor
 import android.animation.Animator
 import android.animation.Animator
 import android.animation.AnimatorListenerAdapter
 import android.animation.AnimatorListenerAdapter
 import android.annotation.SuppressLint
 import android.annotation.SuppressLint
@@ -11,7 +12,11 @@ import android.view.MotionEvent
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.view.ViewPropertyAnimator
 import android.view.ViewPropertyAnimator
-import android.widget.*
+import android.widget.FrameLayout
+import android.widget.ImageView
+import android.widget.LinearLayout
+import android.widget.RelativeLayout
+import android.widget.TextView
 import androidx.annotation.ColorInt
 import androidx.annotation.ColorInt
 import androidx.annotation.IdRes
 import androidx.annotation.IdRes
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.constraintlayout.widget.ConstraintLayout
@@ -20,13 +25,11 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
 import androidx.core.content.ContextCompat
 import androidx.core.content.ContextCompat
 import androidx.core.graphics.drawable.DrawableCompat
 import androidx.core.graphics.drawable.DrawableCompat
 import androidx.core.view.GravityCompat
 import androidx.core.view.GravityCompat
-import androidx.core.view.ViewCompat
 import androidx.core.view.isVisible
 import androidx.core.view.isVisible
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.StaggeredGridLayoutManager
 import androidx.recyclerview.widget.StaggeredGridLayoutManager
 import io.legato.kazusa.R
 import io.legato.kazusa.R
-//import io.legado.app.lib.theme.accentColor
 import kotlin.math.max
 import kotlin.math.max
 import kotlin.math.min
 import kotlin.math.min
 import kotlin.math.roundToInt
 import kotlin.math.roundToInt
@@ -502,7 +505,7 @@ class FastScroller : LinearLayout {
         mScrollbar = findViewById(R.id.fastscroll_scrollbar)
         mScrollbar = findViewById(R.id.fastscroll_scrollbar)
         mHandleImage = mHandleView.drawable?.mutate()
         mHandleImage = mHandleView.drawable?.mutate()
         val typedValue = TypedValue()
         val typedValue = TypedValue()
-        context.theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue, true)
+        context.theme.resolveAttribute(androidx.appcompat.R.attr.colorPrimary, typedValue, true)
         val defaultColor = typedValue.data
         val defaultColor = typedValue.data
         var bubbleColor = defaultColor
         var bubbleColor = defaultColor
         var handleColor = defaultColor
         var handleColor = defaultColor

+ 1 - 1
app/src/main/res/layout-land/activity_main.xml

@@ -7,7 +7,7 @@
     <com.google.android.material.navigationrail.NavigationRailView
     <com.google.android.material.navigationrail.NavigationRailView
         android:id="@+id/navigation_rail_view"
         android:id="@+id/navigation_rail_view"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
-        android:layout_height="0dp"
+        android:layout_height="match_parent"
         android:background="?attr/colorSurfaceContainer"
         android:background="?attr/colorSurfaceContainer"
         app:menuGravity="center"
         app:menuGravity="center"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintTop_toTopOf="parent"

+ 3 - 1
app/src/main/res/layout/activity_manga.xml

@@ -51,9 +51,11 @@
             android:orientation="vertical">
             android:orientation="vertical">
 
 
             <com.google.android.material.progressindicator.CircularProgressIndicator
             <com.google.android.material.progressindicator.CircularProgressIndicator
-                style="@style/Widget.Material3.CircularProgressIndicator.Small"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
+                app:waveAmplitude="2dp"
+                app:waveSpeed="2dp"
+                app:wavelength="2dp"
                 android:indeterminate="true"
                 android:indeterminate="true"
                 app:indicatorSize="40dp" />
                 app:indicatorSize="40dp" />
 
 

+ 4 - 4
app/src/main/res/layout/dialog_add_to_bookshelf.xml

@@ -79,11 +79,11 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
 
 
-    <com.google.android.material.progressindicator.CircularProgressIndicator
+    <com.google.android.material.loadingindicator.LoadingIndicator
         android:id="@+id/rotate_loading"
         android:id="@+id/rotate_loading"
-        android:layout_width="48dp"
-        android:layout_height="48dp"
-        android:indeterminate="false"
+        style="@style/Widget.Material3.LoadingIndicator.Contained"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         app:layout_constraintBottom_toBottomOf="@+id/book_info"
         app:layout_constraintBottom_toBottomOf="@+id/book_info"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintRight_toRightOf="parent"

+ 9 - 0
app/src/main/res/layout/dialog_book_change_source.xml

@@ -23,6 +23,15 @@
         android:indeterminate="true"
         android:indeterminate="true"
         app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
         app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
 
 
+    <com.google.android.material.loadingindicator.LoadingIndicator
+        android:id="@+id/loading_indicator"
+        style="@style/Widget.Material3.LoadingIndicator.Contained"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:layout_margin="32dp"
+        android:visibility="visible" />
+
     <androidx.recyclerview.widget.RecyclerView
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/recycler_view"
         android:id="@+id/recycler_view"
         android:layout_width="match_parent"
         android:layout_width="match_parent"

+ 1 - 1
app/src/main/res/layout/dialog_book_group_edit.xml

@@ -91,7 +91,7 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
         android:orientation="horizontal"
         android:gravity="center_vertical"
         android:gravity="center_vertical"
-        android:padding="16dp">
+        android:paddingHorizontal="16dp">
 
 
         <com.google.android.material.button.MaterialButton
         <com.google.android.material.button.MaterialButton
             android:id="@+id/btn_delete"
             android:id="@+id/btn_delete"

+ 4 - 4
app/src/main/res/layout/dialog_book_group_picker.xml

@@ -32,8 +32,8 @@
             android:id="@+id/tv_cancel"
             android:id="@+id/tv_cancel"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginRight="16dp"
-            android:padding="12dp"
+            style="@style/Widget.Material3Expressive.Button.OutlinedButton"
+            android:layout_marginEnd="8dp"
             android:text="@string/cancel"
             android:text="@string/cancel"
             tools:ignore="RtlHardcoded" />
             tools:ignore="RtlHardcoded" />
 
 
@@ -41,8 +41,8 @@
             android:id="@+id/tv_ok"
             android:id="@+id/tv_ok"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginRight="16dp"
-            android:padding="12dp"
+            style="@style/Widget.Material3Expressive.Button.TonalButton"
+            android:layout_marginEnd="16dp"
             android:text="@string/ok"
             android:text="@string/ok"
             tools:ignore="RtlHardcoded" />
             tools:ignore="RtlHardcoded" />
 
 

+ 2 - 2
app/src/main/res/layout/dialog_bookshelf_config.xml

@@ -206,7 +206,7 @@
 
 
             <com.google.android.material.button.MaterialButton
             <com.google.android.material.button.MaterialButton
                 android:id="@+id/btnCancel"
                 android:id="@+id/btnCancel"
-                style="@style/Widget.Material3.Button.OutlinedButton"
+                style="@style/Widget.Material3Expressive.Button.OutlinedButton"
                 android:text="取消"
                 android:text="取消"
                 android:layout_marginEnd="8dp"
                 android:layout_marginEnd="8dp"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
@@ -214,7 +214,7 @@
 
 
             <com.google.android.material.button.MaterialButton
             <com.google.android.material.button.MaterialButton
                 android:id="@+id/btnOk"
                 android:id="@+id/btnOk"
-                style="@style/Widget.Material3.Button"
+                style="@style/Widget.Material3Expressive.Button"
                 android:text="确定"
                 android:text="确定"
 
 
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"

+ 37 - 19
app/src/main/res/layout/dialog_dict.xml

@@ -1,19 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
-    android:minHeight="320dp"
-    android:orientation="vertical"
     android:paddingHorizontal="16dp"
     android:paddingHorizontal="16dp"
     android:paddingVertical="8dp">
     android:paddingVertical="8dp">
 
 
+    <!-- 顶部标题容器 -->
     <LinearLayout
     <LinearLayout
-        android:layout_width="match_parent"
+        android:id="@+id/header_layout"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:gravity="center"
         android:orientation="vertical"
         android:orientation="vertical"
+        android:gravity="center"
         android:paddingHorizontal="16dp"
         android:paddingHorizontal="16dp"
-        android:paddingVertical="8dp">
+        android:paddingVertical="8dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
 
 
         <View
         <View
             android:layout_width="36dp"
             android:layout_width="36dp"
@@ -29,31 +33,45 @@
             android:text="词典"
             android:text="词典"
             android:textSize="18sp"
             android:textSize="18sp"
             android:textStyle="bold" />
             android:textStyle="bold" />
-
     </LinearLayout>
     </LinearLayout>
 
 
+    <!-- TabLayout -->
     <com.google.android.material.tabs.TabLayout
     <com.google.android.material.tabs.TabLayout
         android:id="@+id/tab_layout"
         android:id="@+id/tab_layout"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:background="@android:color/transparent" />
+        android:background="@android:color/transparent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/header_layout" />
 
 
+    <!-- LoadingIndicator 居中显示 -->
+    <com.google.android.material.loadingindicator.LoadingIndicator
+        android:id="@+id/rotate_loading"
+        style="@style/Widget.Material3.LoadingIndicator.Contained"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_margin="32dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/tab_layout" />
+
+    <!-- ScrollView 显示字典内容 -->
     <androidx.core.widget.NestedScrollView
     <androidx.core.widget.NestedScrollView
+        android:id="@+id/scroll_container"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:minHeight="64dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/tab_layout">
 
 
         <io.legato.kazusa.ui.widget.text.ScrollTextView
         <io.legato.kazusa.ui.widget.text.ScrollTextView
             android:id="@+id/tv_dict"
             android:id="@+id/tv_dict"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
+            android:layout_height="match_parent" />
     </androidx.core.widget.NestedScrollView>
     </androidx.core.widget.NestedScrollView>
 
 
-
-    <com.google.android.material.progressindicator.CircularProgressIndicator
-        android:id="@+id/rotate_loading"
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        android:layout_gravity="center"
-        android:indeterminate="true" />
-
-</LinearLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 4 - 5
app/src/main/res/layout/dialog_wait.xml

@@ -6,12 +6,11 @@
     android:padding="16dp"
     android:padding="16dp"
     android:orientation="horizontal">
     android:orientation="horizontal">
 
 
-    <com.google.android.material.progressindicator.CircularProgressIndicator
+    <com.google.android.material.loadingindicator.LoadingIndicator
         android:id="@+id/pb"
         android:id="@+id/pb"
-        android:layout_width="30dp"
-        android:layout_height="30dp"
-        android:indeterminateBehavior="repeat"
-        android:indeterminateOnly="true" />
+        style="@style/Widget.Material3.LoadingIndicator.Contained"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
 
 
     <TextView
     <TextView
         android:id="@+id/tv_msg"
         android:id="@+id/tv_msg"

+ 4 - 5
app/src/main/res/layout/item_book_manga_page.xml

@@ -25,19 +25,18 @@
             android:id="@+id/loading"
             android:id="@+id/loading"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            style="@style/Widget.Material3.CircularProgressIndicator"
+            android:indeterminate="false"
+            app:indicatorSize="80dp"
             android:layout_gravity="center"
             android:layout_gravity="center"
-            android:indeterminate="true"
-            app:indicatorSize="64dp" />
+            app:showAnimationBehavior="outward" />
 
 
 
 
         <com.google.android.material.button.MaterialButton
         <com.google.android.material.button.MaterialButton
             android:id="@+id/retry"
             android:id="@+id/retry"
-            style="@style/Widget.Material3.Button.OutlinedButton"
+            style="@style/Widget.Material3Expressive.Button.TonalButton"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             android:layout_gravity="center"
-            android:padding="8dp"
             android:text="重新加载"
             android:text="重新加载"
             android:textSize="18sp"
             android:textSize="18sp"
             android:textColor="?attr/colorSurfaceVariant"
             android:textColor="?attr/colorSurfaceVariant"

+ 6 - 3
app/src/main/res/layout/view_load_more.xml

@@ -7,10 +7,13 @@
 
 
     <com.google.android.material.progressindicator.CircularProgressIndicator
     <com.google.android.material.progressindicator.CircularProgressIndicator
         android:id="@+id/rotate_loading"
         android:id="@+id/rotate_loading"
-        android:layout_width="36dp"
-        android:layout_height="36dp"
-        android:layout_margin="6dp"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_margin="8dp"
         android:layout_gravity="center"
         android:layout_gravity="center"
+        app:waveAmplitude="2dp"
+        app:waveSpeed="2dp"
+        app:wavelength="2dp"
         android:visibility="invisible"
         android:visibility="invisible"
         android:indeterminate="true" />
         android:indeterminate="true" />
 
 

+ 5 - 3
app/src/main/res/layout/view_loading.xml

@@ -5,10 +5,11 @@
     android:gravity="center_horizontal"
     android:gravity="center_horizontal"
     android:orientation="vertical">
     android:orientation="vertical">
 
 
-    <androidx.core.widget.ContentLoadingProgressBar
+    <com.google.android.material.loadingindicator.LoadingIndicator
+        style="@style/Widget.Material3.LoadingIndicator.Contained"
         android:id="@+id/loading_progress"
         android:id="@+id/loading_progress"
-        android:layout_width="48dp"
-        android:layout_height="48dp" />
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
 
 
     <androidx.appcompat.widget.AppCompatTextView
     <androidx.appcompat.widget.AppCompatTextView
         android:id="@+id/tv_loading_message"
         android:id="@+id/tv_loading_message"
@@ -16,4 +17,5 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:paddingTop="16dp"
         android:paddingTop="16dp"
         android:text="@string/dynamic_loading" />
         android:text="@string/dynamic_loading" />
+
 </LinearLayout>
 </LinearLayout>

+ 4 - 3
app/src/main/res/layout/view_theme_mode.xml

@@ -2,6 +2,7 @@
 <com.google.android.material.button.MaterialButtonToggleGroup xmlns:android="http://schemas.android.com/apk/res/android"
 <com.google.android.material.button.MaterialButtonToggleGroup xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/theme_toggle_group"
     android:id="@+id/theme_toggle_group"
+    style="@style/Widget.Material3.MaterialButtonGroup.Connected"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="48dp"
     android:layout_height="48dp"
     android:orientation="horizontal"
     android:orientation="horizontal"
@@ -11,7 +12,7 @@
 
 
     <com.google.android.material.button.MaterialButton
     <com.google.android.material.button.MaterialButton
         android:id="@+id/btn_system"
         android:id="@+id/btn_system"
-        style="@style/Widget.Material3.Button.OutlinedButton"
+        style="@style/Widget.Material3Expressive.Button"
         app:checkedIcon="@drawable/ic_check"
         app:checkedIcon="@drawable/ic_check"
         android:checkable="true"
         android:checkable="true"
         android:layout_width="0dp"
         android:layout_width="0dp"
@@ -21,7 +22,7 @@
 
 
     <com.google.android.material.button.MaterialButton
     <com.google.android.material.button.MaterialButton
         android:id="@+id/btn_light"
         android:id="@+id/btn_light"
-        style="@style/Widget.Material3.Button.OutlinedButton"
+        style="@style/Widget.Material3Expressive.Button"
         app:checkedIcon="@drawable/ic_check"
         app:checkedIcon="@drawable/ic_check"
         android:checkable="true"
         android:checkable="true"
         android:layout_width="0dp"
         android:layout_width="0dp"
@@ -31,7 +32,7 @@
 
 
     <com.google.android.material.button.MaterialButton
     <com.google.android.material.button.MaterialButton
         android:id="@+id/btn_dark"
         android:id="@+id/btn_dark"
-        style="@style/Widget.Material3.Button.OutlinedButton"
+        style="@style/Widget.Material3Expressive.Button"
         app:checkedIcon="@drawable/ic_check"
         app:checkedIcon="@drawable/ic_check"
         android:checkable="true"
         android:checkable="true"
         android:layout_width="0dp"
         android:layout_width="0dp"

+ 1 - 1
app/src/main/res/values-night/themes.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 <resources>
 
 
-    <style name="Base.AppTheme" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
+    <style name="Base.AppTheme" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
         <item name="android:windowDrawsSystemBarBackgrounds">true</item>
         <item name="android:windowDrawsSystemBarBackgrounds">true</item>
         <item name="android:windowLightStatusBar">false</item>
         <item name="android:windowLightStatusBar">false</item>
         <item name="tabStyle">@style/Widget.App.TabLayout</item>
         <item name="tabStyle">@style/Widget.App.TabLayout</item>

+ 2 - 2
app/src/main/res/values/themes.xml

@@ -8,7 +8,7 @@
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowBackground">@android:color/transparent</item>
     </style>
     </style>
 
 
-    <style name="Base.AppTheme" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
+    <style name="Base.AppTheme" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
         <item name="android:windowDrawsSystemBarBackgrounds">true</item>
         <item name="android:windowDrawsSystemBarBackgrounds">true</item>
         <item name="android:windowLightStatusBar">true</item>
         <item name="android:windowLightStatusBar">true</item>
         <item name="tabStyle">@style/Widget.App.TabLayout</item>
         <item name="tabStyle">@style/Widget.App.TabLayout</item>
@@ -17,7 +17,7 @@
         <item name="chipStyle">@style/Widget.Material3.Chip.Filter</item>
         <item name="chipStyle">@style/Widget.Material3.Chip.Filter</item>
     </style>
     </style>
 
 
-    <style name="Theme.Base.Dycolors" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
+    <style name="Theme.Base.Dycolors" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
 
 
     </style>
     </style>
     
     

+ 2 - 0
gradle.properties

@@ -46,3 +46,5 @@ CronetMainVersion=128.0.0.0
 android.injected.testOnly=false
 android.injected.testOnly=false
 android.nonFinalResIds=true
 android.nonFinalResIds=true
 android.injected.androidTest.leaveApksInstalledAfterRun=true
 android.injected.androidTest.leaveApksInstalledAfterRun=true
+
+

+ 9 - 9
gradle/libs.versions.toml

@@ -1,23 +1,23 @@
 [versions]
 [versions]
 
 
-datastorePreferences = "1.0.0"
+datastorePreferences = "1.1.7"
 kotlin = "2.1.21"
 kotlin = "2.1.21"
 ksp = "2.1.21-2.0.1"
 ksp = "2.1.21-2.0.1"
 agp = "8.10.1"
 agp = "8.10.1"
-appcompat = "1.7.0"
+appcompat = "1.7.1"
 colorpicker = "1.1.0"
 colorpicker = "1.1.0"
 commonsText = "1.13.1"
 commonsText = "1.13.1"
 constraintlayout = "2.2.1"
 constraintlayout = "2.2.1"
 core = "1.16.0"
 core = "1.16.0"
-firebaseBom = "33.2.0"
+firebaseBom = "34.0.0"
 flexbox = "3.0.0"
 flexbox = "3.0.0"
-fragment = "1.8.7"
+fragment = "1.8.8"
 
 
 #不要更新版本
 #不要更新版本
 hutool = "5.8.22"
 hutool = "5.8.22"
 
 
 libarchive = "1.1.5"
 libarchive = "1.1.5"
-lifecycle = "2.9.0"
+lifecycle = "2.9.2"
 glide = "4.16.0"
 glide = "4.16.0"
 gson = "2.13.1"
 gson = "2.13.1"
 jsonPath = "2.9.0"
 jsonPath = "2.9.0"
@@ -28,16 +28,16 @@ jsoupxpath = "2.5.3"
 coroutines = "1.10.2"
 coroutines = "1.10.2"
 liveeventbus = "1.8.14"
 liveeventbus = "1.8.14"
 markwon = "4.6.2"
 markwon = "4.6.2"
-material = "1.12.0"
+material = "1.14.0-alpha03"
 media = "1.7.0"
 media = "1.7.0"
-media3 = "1.6.1"
+media3 = "1.7.1"
 nanoHttpd = "2.3.1"
 nanoHttpd = "2.3.1"
 okhttp = "4.12.0"
 okhttp = "4.12.0"
 palette = "1.0.0"
 palette = "1.0.0"
 preference = "1.2.1"
 preference = "1.2.1"
 protobufJavalite = "4.26.1"
 protobufJavalite = "4.26.1"
 quickChineseTransfer = "0.2.16"
 quickChineseTransfer = "0.2.16"
-room = "2.7.1"
+room = "2.7.2"
 splitties = "3.0.0"
 splitties = "3.0.0"
 rhino = "1.8.0"
 rhino = "1.8.0"
 desugar = "2.1.5"
 desugar = "2.1.5"
@@ -49,7 +49,7 @@ swiperefreshlayout = "1.1.0"
 recyclerview = "1.2.0"
 recyclerview = "1.2.0"
 #noinspection GradleDependency
 #noinspection GradleDependency
 viewpager2 = "1.0.0"
 viewpager2 = "1.0.0"
-webkit = "1.13.0"
+webkit = "1.14.0"
 collection = "1.5.0"
 collection = "1.5.0"
 
 
 zxingLite = "3.2.0"
 zxingLite = "3.2.0"