فهرست منبع

舍弃原来的主题系统

HapeLee 1 سال پیش
والد
کامیت
6ed3ef9566
48فایلهای تغییر یافته به همراه180 افزوده شده و 289 حذف شده
  1. 1 1
      app/build.gradle
  2. 3 2
      app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt
  3. 3 2
      app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt
  4. 5 2
      app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt
  5. 5 2
      app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt
  6. 2 1
      app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt
  7. 2 1
      app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt
  8. 4 3
      app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt
  9. 3 2
      app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter.kt
  10. 3 2
      app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter2.kt
  11. 6 4
      app/src/main/java/io/legato/kazusa/ui/widget/DetailSeekBar.kt
  12. 26 24
      app/src/main/java/io/legato/kazusa/ui/widget/image/CircleImageView.kt
  13. 6 0
      app/src/main/java/io/legato/kazusa/utils/ContextExtensions.kt
  14. 4 0
      app/src/main/res/drawable/ic_fill_colors.xml
  15. 4 0
      app/src/main/res/drawable/ic_palette.xml
  16. 0 12
      app/src/main/res/layout-land/activity_book_info.xml
  17. 2 5
      app/src/main/res/layout/activity_manga.xml
  18. 5 7
      app/src/main/res/layout/activity_read_record.xml
  19. 10 11
      app/src/main/res/layout/activity_search_content.xml
  20. 5 16
      app/src/main/res/layout/activity_source_debug.xml
  21. 2 3
      app/src/main/res/layout/dialog_add_to_bookshelf.xml
  22. 1 3
      app/src/main/res/layout/dialog_book_change_source.xml
  23. 1 5
      app/src/main/res/layout/dialog_chapter_change_source.xml
  24. 0 2
      app/src/main/res/layout/dialog_custom_group.xml
  25. 0 4
      app/src/main/res/layout/dialog_manga_footer_setting.xml
  26. 5 6
      app/src/main/res/layout/dialog_open_url_confirm.xml
  27. 4 9
      app/src/main/res/layout/dialog_page_key.xml
  28. 0 1
      app/src/main/res/layout/dialog_read_aloud.xml
  29. 12 37
      app/src/main/res/layout/dialog_simulated_reading.xml
  30. 15 35
      app/src/main/res/layout/dialog_tip_config.xml
  31. 2 1
      app/src/main/res/layout/fragment_bookshelf1.xml
  32. 1 2
      app/src/main/res/layout/item_1line_text.xml
  33. 1 2
      app/src/main/res/layout/item_book_file_import.xml
  34. 0 1
      app/src/main/res/layout/item_bookshelf_grid_group.xml
  35. 0 8
      app/src/main/res/layout/item_bookshelf_list.xml
  36. 0 7
      app/src/main/res/layout/item_bookshelf_list_group.xml
  37. 2 7
      app/src/main/res/layout/item_change_source.xml
  38. 0 1
      app/src/main/res/layout/item_cover.xml
  39. 1 2
      app/src/main/res/layout/item_import_book.xml
  40. 0 1
      app/src/main/res/layout/item_rss_article_1.xml
  41. 0 1
      app/src/main/res/layout/item_rss_article_2.xml
  42. 2 4
      app/src/main/res/layout/item_rss_source.xml
  43. 3 7
      app/src/main/res/layout/item_search_list.xml
  44. 0 3
      app/src/main/res/layout/item_theme_config.xml
  45. 0 2
      app/src/main/res/layout/item_toc_regex.xml
  46. 4 7
      app/src/main/res/layout/view_detail_seek_bar.xml
  47. 23 29
      app/src/main/res/layout/view_search_menu.xml
  48. 2 2
      app/src/main/res/values/styles.xml

+ 1 - 1
app/build.gradle

@@ -49,7 +49,7 @@ android {
 
 
     defaultConfig {
     defaultConfig {
         applicationId "io.legato.kazusa"
         applicationId "io.legato.kazusa"
-        minSdk 21
+        minSdk 24
         targetSdk 35
         targetSdk 35
         versionCode 10000 + gitCommits
         versionCode 10000 + gitCommits
         versionName version
         versionName version

+ 3 - 2
app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt

@@ -6,6 +6,7 @@ import android.content.DialogInterface
 import android.os.Bundle
 import android.os.Bundle
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
+import androidx.core.view.isVisible
 import androidx.fragment.app.viewModels
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.MutableLiveData
 import io.legato.kazusa.R
 import io.legato.kazusa.R
@@ -70,9 +71,9 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
         }
         }
         viewModel.loadStateLiveData.observe(this) {
         viewModel.loadStateLiveData.observe(this) {
             if (it) {
             if (it) {
-                binding.rotateLoading.visible()
+                binding.rotateLoading.isVisible = true
             } else {
             } else {
-                binding.rotateLoading.gone()
+                binding.rotateLoading.isVisible = true
             }
             }
         }
         }
         viewModel.loadErrorLiveData.observe(this) {
         viewModel.loadErrorLiveData.observe(this) {

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

@@ -9,6 +9,7 @@ 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
+import androidx.core.view.isVisible
 import androidx.fragment.app.viewModels
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.Lifecycle.State.STARTED
 import androidx.lifecycle.Lifecycle.State.STARTED
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.lifecycleScope
@@ -215,7 +216,7 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
 
 
     private fun initLiveData() {
     private fun initLiveData() {
         viewModel.searchStateData.observe(viewLifecycleOwner) {
         viewModel.searchStateData.observe(viewLifecycleOwner) {
-            //binding.refreshProgressBar.isAutoLoading = it
+            binding.refreshProgressBar.isVisible = it
             if (it) {
             if (it) {
                 startStopMenuItem?.let { item ->
                 startStopMenuItem?.let { item ->
                     item.setIcon(R.drawable.ic_stop_black_24dp)
                     item.setIcon(R.drawable.ic_stop_black_24dp)
@@ -227,7 +228,7 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
                     item.setTitle(R.string.refresh)
                     item.setTitle(R.string.refresh)
                 }
                 }
             }
             }
-            binding.toolBar.menu.applyTint(requireContext())
+            //binding.toolBar.menu.applyTint(requireContext())
         }
         }
         lifecycleScope.launch {
         lifecycleScope.launch {
             repeatOnLifecycle(STARTED) {
             repeatOnLifecycle(STARTED) {

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

@@ -11,6 +11,7 @@ import io.legato.kazusa.lib.theme.ThemeUtils
 //import io.legado.app.lib.theme.accentColor
 //import io.legado.app.lib.theme.accentColor
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.gone
 import io.legato.kazusa.utils.gone
+import io.legato.kazusa.utils.themeColor
 import io.legato.kazusa.utils.visible
 import io.legato.kazusa.utils.visible
 
 
 class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
 class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
@@ -30,11 +31,13 @@ class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
     ) {
     ) {
         binding.run {
         binding.run {
             val isDur = durChapterIndex == item.index
             val isDur = durChapterIndex == item.index
+
             if (isDur) {
             if (isDur) {
-                //tvChapterName.setTextColor(context.accentColor)
+                tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorPrimary))
             } else {
             } else {
-                tvChapterName.setTextColor(context.getCompatColor(R.color.primaryText))
+                tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
             }
             }
+
             tvChapterName.text = item.title
             tvChapterName.text = item.title
             if (item.isVolume) {
             if (item.isVolume) {
                 //卷名,如第一卷 突出显示
                 //卷名,如第一卷 突出显示

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

@@ -1,5 +1,6 @@
 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
@@ -10,11 +11,13 @@ 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
+import io.legato.kazusa.utils.themeColor
 
 
 /**
 /**
  * 自动翻页
  * 自动翻页
  */
  */
-class AutoPager(private val readView: ReadView) {
+class AutoPager(
+    private val readView: ReadView) {
     private var progress = 0
     private var progress = 0
     var isRunning = false
     var isRunning = false
         private set
         private set
@@ -28,7 +31,7 @@ class AutoPager(private val readView: ReadView) {
 
 
     fun start() {
     fun start() {
         isRunning = true
         isRunning = true
-        paint.color = ThemeStore.accentColor
+        paint.color = readView.context.themeColor(com.google.android.material.R.attr.colorPrimary)
         lastTimeMillis = SystemClock.uptimeMillis()
         lastTimeMillis = SystemClock.uptimeMillis()
         readView.curPage.upSelectAble(false)
         readView.curPage.upSelectAble(false)
         readView.invalidate()
         readView.invalidate()

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

@@ -19,6 +19,7 @@ import io.legato.kazusa.ui.book.read.page.provider.ChapterProvider
 import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
 import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
 import io.legato.kazusa.utils.canvasrecorder.recordIfNeededThenDraw
 import io.legato.kazusa.utils.canvasrecorder.recordIfNeededThenDraw
 import io.legato.kazusa.utils.dpToPx
 import io.legato.kazusa.utils.dpToPx
+import io.legato.kazusa.utils.themeColor
 
 
 /**
 /**
  * 行信息
  * 行信息
@@ -173,7 +174,7 @@ data class TextLine(
             ChapterProvider.contentPaint
             ChapterProvider.contentPaint
         }
         }
         val textColor = if (isReadAloud) {
         val textColor = if (isReadAloud) {
-            ThemeStore.accentColor
+            view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
         } else {
         } else {
             ReadBookConfig.textColor
             ReadBookConfig.textColor
         }
         }

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

@@ -9,6 +9,7 @@ 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
 import io.legato.kazusa.ui.book.read.page.provider.ChapterProvider
 import io.legato.kazusa.ui.book.read.page.provider.ChapterProvider
+import io.legato.kazusa.utils.themeColor
 
 
 /**
 /**
  * 文字列
  * 文字列
@@ -49,7 +50,7 @@ data class TextColumn(
             ChapterProvider.contentPaint
             ChapterProvider.contentPaint
         }
         }
         val textColor = if (textLine.isReadAloud || isSearchResult) {
         val textColor = if (textLine.isReadAloud || isSearchResult) {
-            ThemeStore.accentColor
+            view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
         } else {
         } else {
             ReadBookConfig.textColor
             ReadBookConfig.textColor
         }
         }

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

@@ -9,13 +9,14 @@ import io.legato.kazusa.databinding.ItemSearchListBinding
 //import io.legado.app.lib.theme.accentColor
 //import io.legado.app.lib.theme.accentColor
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.hexString
 import io.legato.kazusa.utils.hexString
+import io.legato.kazusa.utils.themeColor
 
 
 
 
 class SearchContentAdapter(context: Context, val callback: Callback) :
 class SearchContentAdapter(context: Context, val callback: Callback) :
     RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
     RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
 
 
-    val textColor = context.getCompatColor(R.color.primaryText).hexString.substring(2)
-    //val accentColor = context.accentColor.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)
 
 
     override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
     override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
         return ItemSearchListBinding.inflate(inflater, parent, false)
         return ItemSearchListBinding.inflate(inflater, parent, false)
@@ -30,7 +31,7 @@ class SearchContentAdapter(context: Context, val callback: Callback) :
         binding.run {
         binding.run {
             val isDur = callback.durChapterIndex() == item.chapterIndex
             val isDur = callback.durChapterIndex() == item.chapterIndex
             if (payloads.isEmpty()) {
             if (payloads.isEmpty()) {
-                //tvSearchResult.text = item.getHtmlCompat(textColor, accentColor)
+                tvSearchResult.text = item.getHtmlCompat(textColor, accentColor)
                 tvSearchResult.paint.isFakeBoldText = isDur
                 tvSearchResult.paint.isFakeBoldText = isDur
             }
             }
         }
         }

+ 3 - 2
app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter.kt

@@ -17,6 +17,7 @@ import io.legato.kazusa.help.glide.ImageLoader
 import io.legato.kazusa.help.glide.OkHttpModelLoader
 import io.legato.kazusa.help.glide.OkHttpModelLoader
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.gone
 import io.legato.kazusa.utils.gone
+import io.legato.kazusa.utils.themeColor
 import io.legato.kazusa.utils.visible
 import io.legato.kazusa.utils.visible
 
 
 
 
@@ -73,9 +74,9 @@ class RssArticlesAdapter(context: Context, callBack: CallBack) :
                 }.into(imageView)
                 }.into(imageView)
             }
             }
             if (item.read) {
             if (item.read) {
-                tvTitle.setTextColor(context.getCompatColor(R.color.tv_text_summary))
+                tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurfaceVariant))
             } else {
             } else {
-                tvTitle.setTextColor(context.getCompatColor(R.color.primaryText))
+                tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
             }
             }
         }
         }
     }
     }

+ 3 - 2
app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter2.kt

@@ -17,6 +17,7 @@ import io.legato.kazusa.help.glide.ImageLoader
 import io.legato.kazusa.help.glide.OkHttpModelLoader
 import io.legato.kazusa.help.glide.OkHttpModelLoader
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.getCompatColor
 import io.legato.kazusa.utils.gone
 import io.legato.kazusa.utils.gone
+import io.legato.kazusa.utils.themeColor
 import io.legato.kazusa.utils.visible
 import io.legato.kazusa.utils.visible
 
 
 
 
@@ -73,9 +74,9 @@ class RssArticlesAdapter2(context: Context, callBack: CallBack) :
                 }.into(imageView)
                 }.into(imageView)
             }
             }
             if (item.read) {
             if (item.read) {
-                tvTitle.setTextColor(context.getCompatColor(R.color.tv_text_summary))
+                tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurfaceVariant))
             } else {
             } else {
-                tvTitle.setTextColor(context.getCompatColor(R.color.primaryText))
+                tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
             }
             }
         }
         }
     }
     }

+ 6 - 4
app/src/main/java/io/legato/kazusa/ui/widget/DetailSeekBar.kt

@@ -59,13 +59,15 @@ class DetailSeekBar @JvmOverloads constructor(
 //            binding.tvSeekValue.setTextColor(textColor)
 //            binding.tvSeekValue.setTextColor(textColor)
         }
         }
         binding.ivSeekPlus.setOnClickListener {
         binding.ivSeekPlus.setOnClickListener {
-            binding.slider.value = binding.slider.value + 1
-            onChanged?.invoke(binding.slider.value.toInt())
+            val newValue = (binding.slider.value + 1).coerceAtMost(binding.slider.valueTo)
+            binding.slider.value = newValue
+            onChanged?.invoke(newValue.toInt())
         }
         }
 
 
         binding.ivSeekReduce.setOnClickListener {
         binding.ivSeekReduce.setOnClickListener {
-            binding.slider.value = binding.slider.value - 1
-            onChanged?.invoke(binding.slider.value.toInt())
+            val newValue = (binding.slider.value - 1).coerceAtLeast(binding.slider.valueFrom)
+            binding.slider.value = newValue
+            onChanged?.invoke(newValue.toInt())
         }
         }
 
 
         binding.slider.addOnChangeListener { _, value, fromUser ->
         binding.slider.addOnChangeListener { _, value, fromUser ->

+ 26 - 24
app/src/main/java/io/legato/kazusa/ui/widget/image/CircleImageView.kt

@@ -23,6 +23,8 @@ import io.legato.kazusa.utils.spToPx
 import kotlin.math.min
 import kotlin.math.min
 import kotlin.math.pow
 import kotlin.math.pow
 import androidx.core.graphics.createBitmap
 import androidx.core.graphics.createBitmap
+import io.legato.kazusa.utils.themeColor
+import androidx.core.content.withStyledAttributes
 
 
 @Suppress("unused", "MemberVisibilityCanBePrivate")
 @Suppress("unused", "MemberVisibilityCanBePrivate")
 class CircleImageView @JvmOverloads constructor(
 class CircleImageView @JvmOverloads constructor(
@@ -117,35 +119,35 @@ class CircleImageView @JvmOverloads constructor(
 
 
     private var text: String? = null
     private var text: String? = null
 
 
-    private var textColor = context.getCompatColor(R.color.primaryText)
+    private var textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface)
     private var textBold = false
     private var textBold = false
     var isInView = false
     var isInView = false
 
 
     init {
     init {
-        val a = context.obtainStyledAttributes(attrs, R.styleable.CircleImageView)
-        mBorderWidth =
-            a.getDimensionPixelSize(
-                R.styleable.CircleImageView_civ_border_width,
-                DEFAULT_BORDER_WIDTH
-            )
-        mBorderColor =
-            a.getColor(R.styleable.CircleImageView_civ_border_color, DEFAULT_BORDER_COLOR)
-        mBorderOverlay =
-            a.getBoolean(R.styleable.CircleImageView_civ_border_overlay, DEFAULT_BORDER_OVERLAY)
-        mCircleBackgroundColor =
-            a.getColor(
-                R.styleable.CircleImageView_civ_circle_background_color,
-                DEFAULT_CIRCLE_BACKGROUND_COLOR
-            )
-        text = a.getString(R.styleable.CircleImageView_text)
-        contentDescription = text
-        if (a.hasValue(R.styleable.CircleImageView_textColor)) {
-            textColor = a.getColor(
-                R.styleable.CircleImageView_textColor,
-                context.getCompatColor(R.color.primaryText)
-            )
+        context.withStyledAttributes(attrs, R.styleable.CircleImageView) {
+            mBorderWidth =
+                getDimensionPixelSize(
+                    R.styleable.CircleImageView_civ_border_width,
+                    DEFAULT_BORDER_WIDTH
+                )
+            mBorderColor =
+                getColor(R.styleable.CircleImageView_civ_border_color, DEFAULT_BORDER_COLOR)
+            mBorderOverlay =
+                getBoolean(R.styleable.CircleImageView_civ_border_overlay, DEFAULT_BORDER_OVERLAY)
+            mCircleBackgroundColor =
+                getColor(
+                    R.styleable.CircleImageView_civ_circle_background_color,
+                    DEFAULT_CIRCLE_BACKGROUND_COLOR
+                )
+            text = getString(R.styleable.CircleImageView_text)
+            contentDescription = text
+            if (hasValue(R.styleable.CircleImageView_textColor)) {
+                textColor = getColor(
+                    R.styleable.CircleImageView_textColor,
+                    context.themeColor(com.google.android.material.R.attr.colorOnSurface)
+                )
+            }
         }
         }
-        a.recycle()
 
 
         mReady = true
         mReady = true
 
 

+ 6 - 0
app/src/main/java/io/legato/kazusa/utils/ContextExtensions.kt

@@ -29,6 +29,7 @@ import android.os.BatteryManager
 import android.os.Build
 import android.os.Build
 import android.os.Process
 import android.os.Process
 import android.provider.Settings
 import android.provider.Settings
+import android.util.TypedValue
 import androidx.annotation.ColorRes
 import androidx.annotation.ColorRes
 import androidx.annotation.DrawableRes
 import androidx.annotation.DrawableRes
 import androidx.core.content.ContextCompat
 import androidx.core.content.ContextCompat
@@ -417,3 +418,8 @@ val Context.isDebuggable: Boolean
 
 
 val Context.dataStore by preferencesDataStore(name = "settings")
 val Context.dataStore by preferencesDataStore(name = "settings")
 
 
+fun Context.themeColor(attr: Int): Int {
+    val typedValue = TypedValue()
+    theme.resolveAttribute(attr, typedValue, true)
+    return ContextCompat.getColor(this, typedValue.resourceId)
+}

+ 4 - 0
app/src/main/res/drawable/ic_fill_colors.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
+    <path android:fillColor="@android:color/white" android:pathData="M247,56L304,0L647,343Q670,366 670,400Q670,434 647,457L457,647Q434,670 400,670Q366,670 343,647L153,457Q130,434 130,400Q130,366 153,343L343,152L247,56ZM400,209L209,400Q209,400 209,400Q209,400 209,400L591,400Q591,400 591,400Q591,400 591,400L400,209ZM760,680Q727,680 703.5,656.5Q680,633 680,600Q680,579 692.5,555Q705,531 720,510Q729,498 739,485Q749,472 760,460Q771,472 781,485Q791,498 800,510Q815,531 827.5,555Q840,579 840,600Q840,633 816.5,656.5Q793,680 760,680ZM80,960L80,800L880,800L880,960L80,960Z"/>
+</vector>

+ 4 - 0
app/src/main/res/drawable/ic_palette.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
+    <path android:fillColor="@android:color/white" android:pathData="M480,880Q398,880 325,848.5Q252,817 197.5,762.5Q143,708 111.5,635Q80,562 80,480Q80,397 112.5,324Q145,251 200.5,197Q256,143 330,111.5Q404,80 488,80Q568,80 639,107.5Q710,135 763.5,183.5Q817,232 848.5,298.5Q880,365 880,442Q880,557 810,618.5Q740,680 640,680L566,680Q557,680 553.5,685Q550,690 550,696Q550,708 565,730.5Q580,753 580,782Q580,832 552.5,856Q525,880 480,880ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM260,520Q286,520 303,503Q320,486 320,460Q320,434 303,417Q286,400 260,400Q234,400 217,417Q200,434 200,460Q200,486 217,503Q234,520 260,520ZM380,360Q406,360 423,343Q440,326 440,300Q440,274 423,257Q406,240 380,240Q354,240 337,257Q320,274 320,300Q320,326 337,343Q354,360 380,360ZM580,360Q606,360 623,343Q640,326 640,300Q640,274 623,257Q606,240 580,240Q554,240 537,257Q520,274 520,300Q520,326 537,343Q554,360 580,360ZM700,520Q726,520 743,503Q760,486 760,460Q760,434 743,417Q726,400 700,400Q674,400 657,417Q640,434 640,460Q640,486 657,503Q674,520 700,520ZM480,800Q489,800 494.5,795Q500,790 500,782Q500,768 485,749Q470,730 470,692Q470,650 499,625Q528,600 570,600L640,600Q706,600 753,561.5Q800,523 800,442Q800,321 707.5,240.5Q615,160 488,160Q352,160 256,253Q160,346 160,480Q160,613 253.5,706.5Q347,800 480,800Z"/>
+</vector>

+ 0 - 12
app/src/main/res/layout-land/activity_book_info.xml

@@ -101,7 +101,6 @@
                     android:includeFontPadding="false"
                     android:includeFontPadding="false"
                     android:singleLine="true"
                     android:singleLine="true"
                     android:text="@string/book_name"
                     android:text="@string/book_name"
-                    android:textColor="@color/primaryText"
                     android:textSize="18sp"
                     android:textSize="18sp"
                     tools:ignore="RtlHardcoded" />
                     tools:ignore="RtlHardcoded" />
 
 
@@ -141,7 +140,6 @@
                         android:includeFontPadding="false"
                         android:includeFontPadding="false"
                         android:singleLine="true"
                         android:singleLine="true"
                         android:text="@string/author"
                         android:text="@string/author"
-                        android:textColor="@color/tv_text_summary"
                         android:textSize="13sp"
                         android:textSize="13sp"
                         tools:ignore="NestedWeights,TextContrastCheck" />
                         tools:ignore="NestedWeights,TextContrastCheck" />
 
 
@@ -204,7 +202,6 @@
                                 android:contentDescription="@string/origin_format"
                                 android:contentDescription="@string/origin_format"
                                 android:paddingRight="2dp"
                                 android:paddingRight="2dp"
                                 android:src="@drawable/ic_web_outline"
                                 android:src="@drawable/ic_web_outline"
-                                app:tint="@color/tv_text_summary"
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
                             <TextView
                             <TextView
@@ -216,7 +213,6 @@
                                 android:includeFontPadding="false"
                                 android:includeFontPadding="false"
                                 android:paddingRight="6dp"
                                 android:paddingRight="6dp"
                                 android:singleLine="true"
                                 android:singleLine="true"
-                                android:textColor="@color/tv_text_summary"
                                 android:textSize="13sp"
                                 android:textSize="13sp"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:text="@string/origin_format" />
                                 tools:text="@string/origin_format" />
@@ -250,7 +246,6 @@
                                 android:contentDescription="@string/read_dur_progress"
                                 android:contentDescription="@string/read_dur_progress"
                                 android:paddingRight="2dp"
                                 android:paddingRight="2dp"
                                 android:src="@drawable/ic_book_last"
                                 android:src="@drawable/ic_book_last"
-                                app:tint="@color/tv_text_summary"
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
                             <TextView
                             <TextView
@@ -262,7 +257,6 @@
                                 android:includeFontPadding="false"
                                 android:includeFontPadding="false"
                                 android:paddingRight="6dp"
                                 android:paddingRight="6dp"
                                 android:singleLine="true"
                                 android:singleLine="true"
-                                android:textColor="@color/tv_text_summary"
                                 android:textSize="13sp"
                                 android:textSize="13sp"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:text="@string/read_dur_progress" />
                                 tools:text="@string/read_dur_progress" />
@@ -283,7 +277,6 @@
                                 android:contentDescription="@string/read_dur_progress"
                                 android:contentDescription="@string/read_dur_progress"
                                 android:paddingRight="2dp"
                                 android:paddingRight="2dp"
                                 android:src="@drawable/ic_groups"
                                 android:src="@drawable/ic_groups"
-                                app:tint="@color/tv_text_summary"
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
                             <TextView
                             <TextView
@@ -295,7 +288,6 @@
                                 android:includeFontPadding="false"
                                 android:includeFontPadding="false"
                                 android:paddingRight="6dp"
                                 android:paddingRight="6dp"
                                 android:singleLine="true"
                                 android:singleLine="true"
-                                android:textColor="@color/tv_text_summary"
                                 android:textSize="13sp"
                                 android:textSize="13sp"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:text="@string/group_s" />
                                 tools:text="@string/group_s" />
@@ -327,7 +319,6 @@
                                 android:contentDescription="@string/read_dur_progress"
                                 android:contentDescription="@string/read_dur_progress"
                                 android:paddingRight="2dp"
                                 android:paddingRight="2dp"
                                 android:src="@drawable/ic_folder_open"
                                 android:src="@drawable/ic_folder_open"
-                                app:tint="@color/tv_text_summary"
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
                                 tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
                             <TextView
                             <TextView
@@ -339,7 +330,6 @@
                                 android:includeFontPadding="false"
                                 android:includeFontPadding="false"
                                 android:paddingRight="6dp"
                                 android:paddingRight="6dp"
                                 android:singleLine="true"
                                 android:singleLine="true"
-                                android:textColor="@color/tv_text_summary"
                                 android:textSize="13sp"
                                 android:textSize="13sp"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry,TextContrastCheck"
                                 tools:text="@string/toc_s" />
                                 tools:text="@string/toc_s" />
@@ -370,7 +360,6 @@
                         android:paddingLeft="8dp"
                         android:paddingLeft="8dp"
                         android:paddingBottom="8dp"
                         android:paddingBottom="8dp"
                         android:text="@string/book_intro"
                         android:text="@string/book_intro"
-                        android:textColor="@color/secondaryText"
                         android:textIsSelectable="true"
                         android:textIsSelectable="true"
                         android:textSize="14sp"
                         android:textSize="14sp"
                         android:visibility="visible"
                         android:visibility="visible"
@@ -398,7 +387,6 @@
                     android:gravity="center"
                     android:gravity="center"
                     android:includeFontPadding="false"
                     android:includeFontPadding="false"
                     android:text="@string/remove_from_bookshelf"
                     android:text="@string/remove_from_bookshelf"
-                    android:textColor="@color/primaryText"
                     android:textSize="15sp" />
                     android:textSize="15sp" />
 
 
                 <io.legato.kazusa.ui.widget.text.AccentBgTextView
                 <io.legato.kazusa.ui.widget.text.AccentBgTextView

+ 2 - 5
app/src/main/res/layout/activity_manga.xml

@@ -53,7 +53,6 @@
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:indeterminate="true"
                 android:indeterminate="true"
-                app:indicatorColor="@color/white"
                 app:indicatorSize="36dp"
                 app:indicatorSize="36dp"
                 app:trackCornerRadius="99dp"
                 app:trackCornerRadius="99dp"
                 app:trackThickness="3dp" />
                 app:trackThickness="3dp" />
@@ -63,8 +62,7 @@
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="10dp"
                 android:layout_marginTop="10dp"
-                android:text="@string/loading"
-                android:textColor="@color/primaryText" />
+                android:text="@string/loading" />
         </LinearLayout>
         </LinearLayout>
 
 
         <LinearLayout
         <LinearLayout
@@ -78,8 +76,7 @@
             <TextView
             <TextView
                 android:id="@+id/tv_msg"
                 android:id="@+id/tv_msg"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textColor="@color/primaryText" />
+                android:layout_height="wrap_content" />
 
 
             <io.legato.kazusa.ui.widget.text.AccentTextView
             <io.legato.kazusa.ui.widget.text.AccentTextView
                 android:id="@+id/tv_retry"
                 android:id="@+id/tv_retry"

+ 5 - 7
app/src/main/res/layout/activity_read_record.xml

@@ -16,8 +16,7 @@
     <androidx.constraintlayout.widget.ConstraintLayout
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:paddingLeft="10dp"
-        android:paddingRight="10dp">
+        android:paddingHorizontal="16dp">
 
 
         <TextView
         <TextView
             android:id="@+id/tv_book_name"
             android:id="@+id/tv_book_name"
@@ -25,7 +24,6 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:padding="6dp"
             android:padding="6dp"
             android:singleLine="true"
             android:singleLine="true"
-            android:textColor="@color/primaryText"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toLeftOf="@+id/tv_remove"
             app:layout_constraintRight_toLeftOf="@+id/tv_remove"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintTop_toTopOf="parent"
@@ -38,20 +36,19 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:padding="6dp"
             android:padding="6dp"
             android:singleLine="true"
             android:singleLine="true"
-            android:textColor="@color/secondaryText"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toLeftOf="@+id/tv_remove"
             app:layout_constraintRight_toLeftOf="@+id/tv_remove"
             app:layout_constraintTop_toBottomOf="@id/tv_book_name"
             app:layout_constraintTop_toBottomOf="@id/tv_book_name"
             tools:text="readingTime" />
             tools:text="readingTime" />
 
 
-        <TextView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/tv_remove"
             android:id="@+id/tv_remove"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:background="?attr/selectableItemBackground"
+            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
             android:padding="6dp"
             android:padding="6dp"
+            app:icon="@drawable/ic_clear_all"
             android:text="@string/clear"
             android:text="@string/clear"
-            android:textColor="@color/primaryText"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintRight_toRightOf="parent"
             app:layout_constraintRight_toRightOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
             app:layout_constraintTop_toTopOf="parent" />
@@ -62,6 +59,7 @@
         android:id="@+id/recycler_view"
         android:id="@+id/recycler_view"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_height="match_parent"
+        android:paddingHorizontal="16dp"
         android:clipToPadding="false"
         android:clipToPadding="false"
         app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
         app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
 
 

+ 10 - 11
app/src/main/res/layout/activity_search_content.xml

@@ -50,33 +50,32 @@
             android:paddingLeft="10dp"
             android:paddingLeft="10dp"
             android:paddingRight="10dp"
             android:paddingRight="10dp"
             android:singleLine="true"
             android:singleLine="true"
-            android:textColor="@color/primaryText"
             android:textSize="12sp" />
             android:textSize="12sp" />
 
 
         <Space
         <Space
             android:layout_width="20dp"
             android:layout_width="20dp"
             android:layout_height="1dp" />
             android:layout_height="1dp" />
 
 
-        <androidx.appcompat.widget.AppCompatImageView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/iv_search_content_top"
             android:id="@+id/iv_search_content_top"
             android:layout_width="36dp"
             android:layout_width="36dp"
-            android:layout_height="match_parent"
-            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:layout_height="36dp"
+            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
             android:contentDescription="@string/go_to_top"
             android:contentDescription="@string/go_to_top"
-            android:src="@drawable/ic_arrow_drop_up"
+            app:icon="@drawable/ic_arrow_drop_up"
+            app:iconGravity="textStart"
             android:tooltipText="@string/go_to_top"
             android:tooltipText="@string/go_to_top"
-            app:tint="@color/primaryText"
             tools:ignore="UnusedAttribute" />
             tools:ignore="UnusedAttribute" />
 
 
-        <androidx.appcompat.widget.AppCompatImageView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/iv_search_content_bottom"
             android:id="@+id/iv_search_content_bottom"
             android:layout_width="36dp"
             android:layout_width="36dp"
-            android:layout_height="match_parent"
-            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:layout_height="36dp"
+            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
             android:contentDescription="@string/go_to_bottom"
             android:contentDescription="@string/go_to_bottom"
-            android:src="@drawable/ic_arrow_drop_down"
+            app:icon="@drawable/ic_arrow_drop_down"
+            app:iconGravity="textStart"
             android:tooltipText="@string/go_to_bottom"
             android:tooltipText="@string/go_to_bottom"
-            app:tint="@color/primaryText"
             tools:ignore="UnusedAttribute" />
             tools:ignore="UnusedAttribute" />
     </LinearLayout>
     </LinearLayout>
 
 

+ 5 - 16
app/src/main/res/layout/activity_source_debug.xml

@@ -52,8 +52,7 @@
             <TextView
             <TextView
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="调试搜索>>输入关键字,如:"
-                android:textColor="@color/secondaryText"
+                android:text="调试搜索 - 输入关键字,如:"
                 tools:ignore="HardcodedText" />
                 tools:ignore="HardcodedText" />
 
 
             <LinearLayout
             <LinearLayout
@@ -75,7 +74,6 @@
                     android:paddingRight="12dp"
                     android:paddingRight="12dp"
                     android:paddingBottom="4dp"
                     android:paddingBottom="4dp"
                     android:text="我的"
                     android:text="我的"
-                    android:textColor="@color/primaryText"
                     android:textSize="14sp"
                     android:textSize="14sp"
                     tools:ignore="HardcodedText,UnusedAttribute" />
                     tools:ignore="HardcodedText,UnusedAttribute" />
 
 
@@ -93,7 +91,6 @@
                     android:paddingRight="12dp"
                     android:paddingRight="12dp"
                     android:paddingBottom="4dp"
                     android:paddingBottom="4dp"
                     android:text="系统"
                     android:text="系统"
-                    android:textColor="@color/primaryText"
                     android:textSize="14sp"
                     android:textSize="14sp"
                     tools:ignore="HardcodedText,UnusedAttribute" />
                     tools:ignore="HardcodedText,UnusedAttribute" />
             </LinearLayout>
             </LinearLayout>
@@ -102,8 +99,7 @@
                 android:id="@+id/text_fx_title"
                 android:id="@+id/text_fx_title"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="调试发现>>输入发现URL,如:"
-                android:textColor="@color/secondaryText"
+                android:text="调试发现 - 输入发现URL,如:"
                 tools:ignore="HardcodedText" />
                 tools:ignore="HardcodedText" />
 
 
             <TextView
             <TextView
@@ -120,15 +116,13 @@
                 android:paddingRight="12dp"
                 android:paddingRight="12dp"
                 android:paddingBottom="4dp"
                 android:paddingBottom="4dp"
                 android:text="系统::http://xxx"
                 android:text="系统::http://xxx"
-                android:textColor="@color/primaryText"
                 android:textSize="14sp"
                 android:textSize="14sp"
                 tools:ignore="HardcodedText,UnusedAttribute" />
                 tools:ignore="HardcodedText,UnusedAttribute" />
 
 
             <TextView
             <TextView
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="调试详情页>>输入详情页URL,如:"
-                android:textColor="@color/secondaryText"
+                android:text="调试详情页 - 输入详情页URL,如:"
                 tools:ignore="HardcodedText" />
                 tools:ignore="HardcodedText" />
 
 
             <TextView
             <TextView
@@ -145,15 +139,13 @@
                 android:paddingRight="12dp"
                 android:paddingRight="12dp"
                 android:paddingBottom="4dp"
                 android:paddingBottom="4dp"
                 android:text="https://m.qidian.com/book/1015609210"
                 android:text="https://m.qidian.com/book/1015609210"
-                android:textColor="@color/primaryText"
                 android:textSize="14sp"
                 android:textSize="14sp"
                 tools:ignore="HardcodedText,UnusedAttribute" />
                 tools:ignore="HardcodedText,UnusedAttribute" />
 
 
             <TextView
             <TextView
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="调试目录页>>输入目录页URL,如:"
-                android:textColor="@color/secondaryText"
+                android:text="调试目录页 - 输入目录页URL,如:"
                 tools:ignore="HardcodedText" />
                 tools:ignore="HardcodedText" />
 
 
             <TextView
             <TextView
@@ -170,15 +162,13 @@
                 android:paddingRight="12dp"
                 android:paddingRight="12dp"
                 android:paddingBottom="4dp"
                 android:paddingBottom="4dp"
                 android:text="++https://www.zhaishuyuan.com/read/30394"
                 android:text="++https://www.zhaishuyuan.com/read/30394"
-                android:textColor="@color/primaryText"
                 android:textSize="14sp"
                 android:textSize="14sp"
                 tools:ignore="HardcodedText,UnusedAttribute" />
                 tools:ignore="HardcodedText,UnusedAttribute" />
 
 
             <TextView
             <TextView
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="调试正文页>>输入正文页URL,如:"
-                android:textColor="@color/secondaryText"
+                android:text="调试正文页 - 输入正文页URL,如:"
                 tools:ignore="HardcodedText" />
                 tools:ignore="HardcodedText" />
 
 
             <TextView
             <TextView
@@ -195,7 +185,6 @@
                 android:paddingRight="12dp"
                 android:paddingRight="12dp"
                 android:paddingBottom="4dp"
                 android:paddingBottom="4dp"
                 android:text="--https://www.zhaishuyuan.com/chapter/30394/20940996"
                 android:text="--https://www.zhaishuyuan.com/chapter/30394/20940996"
-                android:textColor="@color/primaryText"
                 android:textSize="14sp"
                 android:textSize="14sp"
                 tools:ignore="HardcodedText,UnusedAttribute" />
                 tools:ignore="HardcodedText,UnusedAttribute" />
 
 

+ 2 - 3
app/src/main/res/layout/dialog_add_to_bookshelf.xml

@@ -11,7 +11,6 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:padding="18dp"
         android:padding="18dp"
         android:text="@string/add_to_bookshelf"
         android:text="@string/add_to_bookshelf"
-        android:textColor="@color/primaryText"
         android:textSize="16sp"
         android:textSize="16sp"
         android:textStyle="bold"
         android:textStyle="bold"
         app:layout_constraintTop_toTopOf="parent" />
         app:layout_constraintTop_toTopOf="parent" />
@@ -80,10 +79,11 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
 
 
-    <io.legato.kazusa.ui.widget.anima.RotateLoading
+    <com.google.android.material.progressindicator.CircularProgressIndicator
         android:id="@+id/rotate_loading"
         android:id="@+id/rotate_loading"
         android:layout_width="48dp"
         android:layout_width="48dp"
         android:layout_height="48dp"
         android:layout_height="48dp"
+        android:indeterminate="false"
         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"
@@ -106,7 +106,6 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:padding="16dp"
         android:padding="16dp"
         android:text="@string/cancel"
         android:text="@string/cancel"
-        android:textColor="@color/secondaryText"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/tv_ok"
         app:layout_constraintRight_toLeftOf="@+id/tv_ok"
         app:layout_constraintTop_toBottomOf="@+id/book_info" />
         app:layout_constraintTop_toBottomOf="@+id/book_info" />

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

@@ -10,7 +10,6 @@
         android:id="@+id/tool_bar"
         android:id="@+id/tool_bar"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:elevation="5dp"
         android:theme="?attr/actionBarStyle"
         android:theme="?attr/actionBarStyle"
         app:contentInsetStartWithNavigation="0dp"
         app:contentInsetStartWithNavigation="0dp"
         app:displayHomeAsUp="false"
         app:displayHomeAsUp="false"
@@ -24,7 +23,7 @@
         android:indeterminate="true"
         android:indeterminate="true"
         app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
         app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
 
 
-    <io.legato.kazusa.ui.widget.recycler.scroller.FastScrollRecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/recycler_view"
         android:id="@+id/recycler_view"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
@@ -73,5 +72,4 @@
             tools:ignore="UnusedAttribute" />
             tools:ignore="UnusedAttribute" />
     </LinearLayout>
     </LinearLayout>
 
 
-
 </LinearLayout>
 </LinearLayout>

+ 1 - 5
app/src/main/res/layout/dialog_chapter_change_source.xml

@@ -52,7 +52,6 @@
             android:paddingLeft="10dp"
             android:paddingLeft="10dp"
             android:paddingRight="10dp"
             android:paddingRight="10dp"
             android:singleLine="true"
             android:singleLine="true"
-            android:textColor="@color/primaryText"
             android:textSize="12sp" />
             android:textSize="12sp" />
 
 
         <androidx.appcompat.widget.AppCompatImageView
         <androidx.appcompat.widget.AppCompatImageView
@@ -63,7 +62,6 @@
             android:contentDescription="@string/go_to_top"
             android:contentDescription="@string/go_to_top"
             android:src="@drawable/ic_arrow_drop_up"
             android:src="@drawable/ic_arrow_drop_up"
             android:tooltipText="@string/go_to_top"
             android:tooltipText="@string/go_to_top"
-            app:tint="@color/primaryText"
             tools:ignore="UnusedAttribute" />
             tools:ignore="UnusedAttribute" />
 
 
         <androidx.appcompat.widget.AppCompatImageView
         <androidx.appcompat.widget.AppCompatImageView
@@ -74,7 +72,6 @@
             android:contentDescription="@string/go_to_bottom"
             android:contentDescription="@string/go_to_bottom"
             android:src="@drawable/ic_arrow_drop_down"
             android:src="@drawable/ic_arrow_drop_down"
             android:tooltipText="@string/go_to_bottom"
             android:tooltipText="@string/go_to_bottom"
-            app:tint="@color/primaryText"
             tools:ignore="UnusedAttribute" />
             tools:ignore="UnusedAttribute" />
     </LinearLayout>
     </LinearLayout>
 
 
@@ -98,8 +95,7 @@
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="36dp"
                 android:layout_height="36dp"
                 android:background="?android:attr/selectableItemBackground"
                 android:background="?android:attr/selectableItemBackground"
-                android:src="@drawable/ic_arrow_down"
-                app:tint="@color/primaryText" />
+                android:src="@drawable/ic_arrow_down" />
 
 
         </FrameLayout>
         </FrameLayout>
 
 

+ 0 - 2
app/src/main/res/layout/dialog_custom_group.xml

@@ -25,7 +25,6 @@
                 android:layout_width="0dp"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/add_group"
                 android:text="@string/add_group"
-                android:textColor="@color/primaryText"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toLeftOf="@+id/sw_add_group" />
                 app:layout_constraintRight_toLeftOf="@+id/sw_add_group" />
@@ -35,7 +34,6 @@
                 android:layout_width="0dp"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/custom_group_summary"
                 android:text="@string/custom_group_summary"
-                android:textColor="@color/secondaryText"
                 app:layout_constraintTop_toBottomOf="@+id/tv_add_group_title"
                 app:layout_constraintTop_toBottomOf="@+id/tv_add_group_title"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toLeftOf="@+id/sw_add_group" />
                 app:layout_constraintRight_toLeftOf="@+id/sw_add_group" />

+ 0 - 4
app/src/main/res/layout/dialog_manga_footer_setting.xml

@@ -20,7 +20,6 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="16dp"
             android:layout_marginTop="16dp"
             android:text="@string/manga_header_chapter"
             android:text="@string/manga_header_chapter"
-            android:textColor="@color/primaryText"
             android:textSize="14sp" />
             android:textSize="14sp" />
 
 
         <LinearLayout
         <LinearLayout
@@ -58,7 +57,6 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="16dp"
             android:layout_marginTop="16dp"
             android:text="@string/manga_header_page"
             android:text="@string/manga_header_page"
-            android:textColor="@color/primaryText"
             android:textSize="14sp" />
             android:textSize="14sp" />
 
 
         <LinearLayout
         <LinearLayout
@@ -88,7 +86,6 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="16dp"
             android:layout_marginTop="16dp"
             android:text="@string/manga_header_progress"
             android:text="@string/manga_header_progress"
-            android:textColor="@color/primaryText"
             android:textSize="14sp" />
             android:textSize="14sp" />
 
 
         <LinearLayout
         <LinearLayout
@@ -118,7 +115,6 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="16dp"
             android:layout_marginTop="16dp"
             android:text="@string/manga_header_footer"
             android:text="@string/manga_header_footer"
-            android:textColor="@color/primaryText"
             android:textSize="14sp" />
             android:textSize="14sp" />
 
 
         <RadioGroup
         <RadioGroup

+ 5 - 6
app/src/main/res/layout/dialog_open_url_confirm.xml

@@ -3,7 +3,6 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     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:background="@drawable/shape_card_view"
     android:orientation="vertical">
     android:orientation="vertical">
 
 
     <androidx.appcompat.widget.Toolbar
     <androidx.appcompat.widget.Toolbar
@@ -21,7 +20,6 @@
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:padding="16dp"
         android:padding="16dp"
-        android:textColor="@color/primaryText"
         android:textSize="16sp" />
         android:textSize="16sp" />
 
 
     <com.google.android.flexbox.FlexboxLayout
     <com.google.android.flexbox.FlexboxLayout
@@ -30,18 +28,19 @@
         app:flexDirection="row"
         app:flexDirection="row"
         app:justifyContent="flex_end">
         app:justifyContent="flex_end">
 
 
-        <io.legato.kazusa.ui.widget.text.AccentTextView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/btn_negative"
             android:id="@+id/btn_negative"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:padding="16dp"
+            style="@style/Widget.Material3.Button.TonalButton"
+            android:layout_marginEnd="8dp"
             android:text="@string/cancel" />
             android:text="@string/cancel" />
 
 
-        <io.legato.kazusa.ui.widget.text.AccentTextView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/btn_positive"
             android:id="@+id/btn_positive"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:padding="16dp"
+            style="@style/Widget.Material3.Button.TonalButton"
             android:text="@string/ok" />
             android:text="@string/ok" />
 
 
     </com.google.android.flexbox.FlexboxLayout>
     </com.google.android.flexbox.FlexboxLayout>

+ 4 - 9
app/src/main/res/layout/dialog_page_key.xml

@@ -47,7 +47,6 @@
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_margin="5dp"
         android:layout_margin="5dp"
-        android:textColor="@color/secondaryText"
         android:text="@string/page_key_set_help" />
         android:text="@string/page_key_set_help" />
 
 
     <LinearLayout
     <LinearLayout
@@ -56,37 +55,33 @@
         android:layout_margin="5dp"
         android:layout_margin="5dp"
         android:orientation="horizontal">
         android:orientation="horizontal">
 
 
-        <TextView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/tv_reset"
             android:id="@+id/tv_reset"
             android:layout_width="0dp"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:layout_weight="1"
-            android:background="@drawable/selector_fillet_btn_bg"
             android:clickable="true"
             android:clickable="true"
             android:focusable="true"
             android:focusable="true"
             android:gravity="center"
             android:gravity="center"
             android:paddingTop="5dp"
             android:paddingTop="5dp"
             android:paddingBottom="5dp"
             android:paddingBottom="5dp"
-            android:text="@string/reset"
-            android:textColor="@color/primaryText" />
+            android:text="@string/reset" />
 
 
         <Space
         <Space
             android:layout_width="3dp"
             android:layout_width="3dp"
             android:layout_height="wrap_content" />
             android:layout_height="wrap_content" />
 
 
-        <TextView
+        <com.google.android.material.button.MaterialButton
             android:id="@+id/tv_ok"
             android:id="@+id/tv_ok"
             android:layout_width="0dp"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:layout_weight="1"
-            android:background="@drawable/selector_fillet_btn_bg"
             android:clickable="true"
             android:clickable="true"
             android:focusable="true"
             android:focusable="true"
             android:gravity="center"
             android:gravity="center"
             android:paddingTop="5dp"
             android:paddingTop="5dp"
             android:paddingBottom="5dp"
             android:paddingBottom="5dp"
-            android:text="@string/ok"
-            android:textColor="@color/primaryText" />
+            android:text="@string/ok" />
 
 
     </LinearLayout>
     </LinearLayout>
 
 

+ 0 - 1
app/src/main/res/layout/dialog_read_aloud.xml

@@ -162,7 +162,6 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center"
                 android:layout_gravity="center"
                 android:paddingHorizontal="3dp"
                 android:paddingHorizontal="3dp"
-                android:textColor="@color/primaryText"
                 android:textSize="14sp" />
                 android:textSize="14sp" />
 
 
             <Space
             <Space

+ 12 - 37
app/src/main/res/layout/dialog_simulated_reading.xml

@@ -5,15 +5,14 @@
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
     android:gravity="center"
     android:gravity="center"
-    android:padding="20dp"
+    android:padding="16dp"
     android:orientation="vertical">
     android:orientation="vertical">
 
 
     <LinearLayout
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="60dp"
-        android:gravity="center"
-        android:orientation="horizontal"
-        android:padding="16dp">
+        android:layout_height="wrap_content"
+        android:gravity="start"
+        android:orientation="horizontal">
 
 
         <TextView
         <TextView
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
@@ -21,31 +20,16 @@
             android:layout_gravity="center_vertical"
             android:layout_gravity="center_vertical"
             android:layout_marginRight="2dp"
             android:layout_marginRight="2dp"
             android:text="@string/switch_on"
             android:text="@string/switch_on"
-            android:textColor="@color/primaryText"
             android:textSize="16sp"
             android:textSize="16sp"
             tools:ignore="RtlHardcoded"
             tools:ignore="RtlHardcoded"
             android:minWidth="88dp" />
             android:minWidth="88dp" />
 
 
-        <LinearLayout
-            android:orientation="horizontal"
-            android:layout_width="53dp"
-            android:layout_height="match_parent"
-            android:gravity="center_vertical">
-
-            <androidx.appcompat.widget.SwitchCompat
-                android:layout_height="wrap_content"
-                android:id="@+id/sr_enabled"
-                android:layout_weight="1"
-                android:gravity="start|center_vertical"
-                style="@style/Widget.AppCompat.CompoundButton.Switch"
-                android:layout_width="match_parent"
-                android:width="20dp" />
-        </LinearLayout>
+        <com.google.android.material.materialswitch.MaterialSwitch
+            android:layout_height="wrap_content"
+            android:id="@+id/sr_enabled"
+            android:gravity="start|center_vertical"
+            android:layout_width="wrap_content" />
 
 
-        <View
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_weight="1" />
 
 
         <View
         <View
             android:layout_width="0dp"
             android:layout_width="0dp"
@@ -58,7 +42,6 @@
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="65dp"
         android:layout_height="65dp"
         android:orientation="horizontal"
         android:orientation="horizontal"
-        android:padding="16dp"
         android:gravity="start|center_vertical">
         android:gravity="start|center_vertical">
 
 
         <TextView
         <TextView
@@ -66,7 +49,6 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical"
             android:layout_gravity="center_vertical"
             android:text="@string/start_from"
             android:text="@string/start_from"
-            android:textColor="@color/primaryText"
             android:textSize="16sp"
             android:textSize="16sp"
             android:gravity="center_vertical"
             android:gravity="center_vertical"
             android:minWidth="100dp" />
             android:minWidth="100dp" />
@@ -98,9 +80,8 @@
     <LinearLayout
     <LinearLayout
         android:orientation="horizontal"
         android:orientation="horizontal"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="63dp"
-        android:gravity="center_horizontal|left"
-        android:padding="16dp">
+        android:layout_height="wrap_content"
+        android:gravity="start">
 
 
         <LinearLayout
         <LinearLayout
             android:orientation="horizontal"
             android:orientation="horizontal"
@@ -114,7 +95,6 @@
                 android:layout_gravity="center_vertical"
                 android:layout_gravity="center_vertical"
                 android:layout_marginRight="2dp"
                 android:layout_marginRight="2dp"
                 android:text="@string/start_chapter"
                 android:text="@string/start_chapter"
-                android:textColor="@color/primaryText"
                 android:textSize="16sp"
                 android:textSize="16sp"
                 tools:ignore="RtlHardcoded" />
                 tools:ignore="RtlHardcoded" />
 
 
@@ -136,8 +116,6 @@
             android:paddingTop="4dp"
             android:paddingTop="4dp"
             android:paddingRight="5dp"
             android:paddingRight="5dp"
             android:paddingBottom="4dp"
             android:paddingBottom="4dp"
-            android:textColor="@color/primaryText"
-            android:textCursorDrawable="@drawable/shape_text_cursor"
             android:textSize="14sp"
             android:textSize="14sp"
             tools:ignore="TouchTargetSizeCheck,TextContrastCheck" />
             tools:ignore="TouchTargetSizeCheck,TextContrastCheck" />
 
 
@@ -151,10 +129,9 @@
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center_vertical"
                 android:layout_gravity="center_vertical"
-                android:layout_marginLeft="25dp"
+                android:layout_marginLeft="16dp"
                 android:layout_marginRight="5dp"
                 android:layout_marginRight="5dp"
                 android:text="@string/daily_chapters"
                 android:text="@string/daily_chapters"
-                android:textColor="@color/primaryText"
                 android:textSize="16sp" />
                 android:textSize="16sp" />
 
 
             <EditText
             <EditText
@@ -173,8 +150,6 @@
                 android:paddingTop="4dp"
                 android:paddingTop="4dp"
                 android:paddingRight="5dp"
                 android:paddingRight="5dp"
                 android:paddingBottom="4dp"
                 android:paddingBottom="4dp"
-                android:textColor="@color/primaryText"
-                android:textCursorDrawable="@drawable/shape_text_cursor"
                 android:textSize="14sp"
                 android:textSize="14sp"
                 tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck,TextContrastCheck"
                 tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck,TextContrastCheck"
                 android:textAlignment="center" />
                 android:textAlignment="center" />

+ 15 - 35
app/src/main/res/layout/dialog_tip_config.xml

@@ -11,7 +11,7 @@
         android:orientation="vertical"
         android:orientation="vertical"
         android:padding="16dp">
         android:padding="16dp">
 
 
-        <io.legato.kazusa.ui.widget.text.AccentTextView
+        <TextView
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/body_title"
             android:text="@string/body_title"
@@ -23,21 +23,21 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="horizontal">
             android:orientation="horizontal">
 
 
-            <RadioButton
+            <com.google.android.material.radiobutton.MaterialRadioButton
                 android:id="@+id/rb_title_mode1"
                 android:id="@+id/rb_title_mode1"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="3dp"
                 android:padding="3dp"
                 android:text="@string/title_left" />
                 android:text="@string/title_left" />
 
 
-            <RadioButton
+            <com.google.android.material.radiobutton.MaterialRadioButton
                 android:id="@+id/rb_title_mode2"
                 android:id="@+id/rb_title_mode2"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="3dp"
                 android:padding="3dp"
                 android:text="@string/title_center" />
                 android:text="@string/title_center" />
 
 
-            <RadioButton
+            <com.google.android.material.radiobutton.MaterialRadioButton
                 android:id="@+id/rb_title_mode3"
                 android:id="@+id/rb_title_mode3"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
@@ -69,7 +69,7 @@
             app:max="100"
             app:max="100"
             app:title="@string/title_margin_bottom" />
             app:title="@string/title_margin_bottom" />
 
 
-        <io.legato.kazusa.ui.widget.text.AccentTextView
+        <TextView
             android:id="@+id/tv_header_padding"
             android:id="@+id/tv_header_padding"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
@@ -89,15 +89,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/show_hide"
-                android:textColor="@color/primaryText" />
+                android:text="@string/show_hide" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_header_show"
                 android:id="@+id/tv_header_show"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/show_hide" />
                 tools:text="@string/show_hide" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -115,15 +113,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/left"
-                android:textColor="@color/primaryText" />
+                android:text="@string/left" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_header_left"
                 android:id="@+id/tv_header_left"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/title" />
                 tools:text="@string/title" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -141,15 +137,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/middle"
-                android:textColor="@color/primaryText" />
+                android:text="@string/middle" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_header_middle"
                 android:id="@+id/tv_header_middle"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/title" />
                 tools:text="@string/title" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -167,15 +161,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/right"
-                android:textColor="@color/primaryText" />
+                android:text="@string/right" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_header_right"
                 android:id="@+id/tv_header_right"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/title" />
                 tools:text="@string/title" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -199,15 +191,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/show_hide"
-                android:textColor="@color/primaryText" />
+                android:text="@string/show_hide" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_footer_show"
                 android:id="@+id/tv_footer_show"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/show_hide" />
                 tools:text="@string/show_hide" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -225,15 +215,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/left"
-                android:textColor="@color/primaryText" />
+                android:text="@string/left" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_footer_left"
                 android:id="@+id/tv_footer_left"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/title" />
                 tools:text="@string/title" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -251,15 +239,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/middle"
-                android:textColor="@color/primaryText" />
+                android:text="@string/middle" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_footer_middle"
                 android:id="@+id/tv_footer_middle"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/title" />
                 tools:text="@string/title" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -277,15 +263,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/right"
-                android:textColor="@color/primaryText" />
+                android:text="@string/right" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_footer_right"
                 android:id="@+id/tv_footer_right"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/title" />
                 tools:text="@string/title" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -309,15 +293,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/text_color"
-                android:textColor="@color/primaryText" />
+                android:text="@string/text_color" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_tip_color"
                 android:id="@+id/tv_tip_color"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/text_color" />
                 tools:text="@string/text_color" />
 
 
         </LinearLayout>
         </LinearLayout>
@@ -335,15 +317,13 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:text="@string/tip_divider_color"
-                android:textColor="@color/primaryText" />
+                android:text="@string/tip_divider_color" />
 
 
             <TextView
             <TextView
                 android:id="@+id/tv_tip_divider_color"
                 android:id="@+id/tv_tip_divider_color"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="6dp"
                 android:padding="6dp"
-                android:textColor="@color/primaryText"
                 tools:text="@string/tip_divider_color" />
                 tools:text="@string/tip_divider_color" />
 
 
         </LinearLayout>
         </LinearLayout>

+ 2 - 1
app/src/main/res/layout/fragment_bookshelf1.xml

@@ -10,6 +10,7 @@
         android:id="@+id/title_bar"
         android:id="@+id/title_bar"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
+        android:background="?attr/colorSurface"
         android:fitsSystemWindows="true">
         android:fitsSystemWindows="true">
 
 
         <com.google.android.material.appbar.CollapsingToolbarLayout
         <com.google.android.material.appbar.CollapsingToolbarLayout
@@ -34,7 +35,7 @@
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:paddingStart="16dp"
             android:paddingStart="16dp"
-            android:background="@color/transparent"
+            android:background="?attr/colorSurface"
             tools:ignore="RtlSymmetry" />
             tools:ignore="RtlSymmetry" />
     </com.google.android.material.appbar.AppBarLayout>
     </com.google.android.material.appbar.AppBarLayout>
 
 

+ 1 - 2
app/src/main/res/layout/item_1line_text.xml

@@ -14,7 +14,6 @@
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:layout_weight="1"
-        android:singleLine="true"
-        android:textColor="@color/primaryText" />
+        android:singleLine="true" />
 
 
 </LinearLayout>
 </LinearLayout>

+ 1 - 2
app/src/main/res/layout/item_book_file_import.xml

@@ -4,13 +4,12 @@
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
-    android:padding="8dp">
+    android:padding="16dp">
 
 
     <TextView
     <TextView
         android:id="@+id/cb_file_name"
         android:id="@+id/cb_file_name"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:textColor="@color/primaryText"
         android:textSize="14sp"
         android:textSize="14sp"
         app:layout_constrainedWidth="true"
         app:layout_constrainedWidth="true"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"

+ 0 - 1
app/src/main/res/layout/item_bookshelf_grid_group.xml

@@ -68,7 +68,6 @@
             android:includeFontPadding="false"
             android:includeFontPadding="false"
             android:lines="2"
             android:lines="2"
             android:text="@string/book_name"
             android:text="@string/book_name"
-            android:textColor="@color/primaryText"
             android:textSize="12sp"
             android:textSize="12sp"
             tools:ignore="RtlHardcoded,RtlSymmetry" />
             tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 

+ 0 - 8
app/src/main/res/layout/item_bookshelf_list.xml

@@ -68,7 +68,6 @@
         android:scrollbars="none"
         android:scrollbars="none"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/book_name"
         android:text="@string/book_name"
-        android:textColor="@color/primaryText"
         android:textSize="16sp"
         android:textSize="16sp"
         app:layout_constraintBottom_toTopOf="@+id/tv_author"
         app:layout_constraintBottom_toTopOf="@+id/tv_author"
         app:layout_constraintLeft_toRightOf="@+id/iv_cover"
         app:layout_constraintLeft_toRightOf="@+id/iv_cover"
@@ -88,7 +87,6 @@
         app:layout_constraintBottom_toBottomOf="@+id/tv_author"
         app:layout_constraintBottom_toBottomOf="@+id/tv_author"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintTop_toTopOf="@+id/tv_author"
         app:layout_constraintTop_toTopOf="@+id/tv_author"
-        app:tint="@color/tv_text_summary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
     <TextView
     <TextView
@@ -101,7 +99,6 @@
         android:scrollbars="none"
         android:scrollbars="none"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/author"
         android:text="@string/author"
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toTopOf="@+id/tv_read"
         app:layout_constraintBottom_toTopOf="@+id/tv_read"
         app:layout_constraintLeft_toRightOf="@+id/iv_author"
         app:layout_constraintLeft_toRightOf="@+id/iv_author"
@@ -119,7 +116,6 @@
         android:scrollbars="none"
         android:scrollbars="none"
         android:singleLine="true"
         android:singleLine="true"
         android:text=""
         android:text=""
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toTopOf="@+id/tv_read"
         app:layout_constraintBottom_toTopOf="@+id/tv_read"
         app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintHorizontal_bias="0.0"
@@ -140,7 +136,6 @@
         app:layout_constraintBottom_toBottomOf="@+id/tv_read"
         app:layout_constraintBottom_toBottomOf="@+id/tv_read"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintTop_toTopOf="@+id/tv_read"
         app:layout_constraintTop_toTopOf="@+id/tv_read"
-        app:tint="@color/tv_text_summary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
     <TextView
     <TextView
@@ -151,7 +146,6 @@
         android:scrollbars="none"
         android:scrollbars="none"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/read_dur_progress"
         android:text="@string/read_dur_progress"
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toTopOf="@id/tv_last"
         app:layout_constraintBottom_toTopOf="@id/tv_last"
         app:layout_constraintLeft_toRightOf="@+id/iv_read"
         app:layout_constraintLeft_toRightOf="@+id/iv_read"
@@ -171,7 +165,6 @@
         app:layout_constraintBottom_toBottomOf="@+id/tv_last"
         app:layout_constraintBottom_toBottomOf="@+id/tv_last"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintTop_toTopOf="@+id/tv_last"
         app:layout_constraintTop_toTopOf="@+id/tv_last"
-        app:tint="@color/tv_text_summary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
     <TextView
     <TextView
@@ -182,7 +175,6 @@
         android:scrollbars="none"
         android:scrollbars="none"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/lasted_show"
         android:text="@string/lasted_show"
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toRightOf="@+id/iv_last"
         app:layout_constraintLeft_toRightOf="@+id/iv_last"

+ 0 - 7
app/src/main/res/layout/item_bookshelf_list_group.xml

@@ -63,7 +63,6 @@
         android:paddingLeft="2dp"
         android:paddingLeft="2dp"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/book_name"
         android:text="@string/book_name"
-        android:textColor="@color/primaryText"
         android:textSize="16sp"
         android:textSize="16sp"
         app:layout_constraintBottom_toTopOf="@+id/tv_author"
         app:layout_constraintBottom_toTopOf="@+id/tv_author"
         app:layout_constraintLeft_toRightOf="@+id/iv_cover"
         app:layout_constraintLeft_toRightOf="@+id/iv_cover"
@@ -82,7 +81,6 @@
         app:layout_constraintBottom_toBottomOf="@+id/tv_author"
         app:layout_constraintBottom_toBottomOf="@+id/tv_author"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintTop_toTopOf="@+id/tv_author"
         app:layout_constraintTop_toTopOf="@+id/tv_author"
-        app:tint="@color/tv_text_summary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
     <TextView
     <TextView
@@ -93,7 +91,6 @@
         android:maxLines="1"
         android:maxLines="1"
         android:paddingEnd="6dp"
         android:paddingEnd="6dp"
         android:text="@string/author"
         android:text="@string/author"
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toTopOf="@+id/tv_read"
         app:layout_constraintBottom_toTopOf="@+id/tv_read"
         app:layout_constraintLeft_toRightOf="@+id/iv_author"
         app:layout_constraintLeft_toRightOf="@+id/iv_author"
@@ -112,7 +109,6 @@
         app:layout_constraintBottom_toBottomOf="@+id/tv_read"
         app:layout_constraintBottom_toBottomOf="@+id/tv_read"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintTop_toTopOf="@+id/tv_read"
         app:layout_constraintTop_toTopOf="@+id/tv_read"
-        app:tint="@color/tv_text_summary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
     <TextView
     <TextView
@@ -122,7 +118,6 @@
         android:includeFontPadding="false"
         android:includeFontPadding="false"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/read_dur_progress"
         android:text="@string/read_dur_progress"
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toTopOf="@id/tv_last"
         app:layout_constraintBottom_toTopOf="@id/tv_last"
         app:layout_constraintLeft_toRightOf="@+id/iv_read"
         app:layout_constraintLeft_toRightOf="@+id/iv_read"
@@ -141,7 +136,6 @@
         app:layout_constraintBottom_toBottomOf="@+id/tv_last"
         app:layout_constraintBottom_toBottomOf="@+id/tv_last"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintLeft_toLeftOf="@+id/tv_name"
         app:layout_constraintTop_toTopOf="@+id/tv_last"
         app:layout_constraintTop_toTopOf="@+id/tv_last"
-        app:tint="@color/tv_text_summary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
     <TextView
     <TextView
@@ -151,7 +145,6 @@
         android:layout_marginBottom="8dp"
         android:layout_marginBottom="8dp"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/lasted_show"
         android:text="@string/lasted_show"
-        android:textColor="@color/tv_text_summary"
         android:textSize="13sp"
         android:textSize="13sp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toRightOf="@+id/iv_last"
         app:layout_constraintLeft_toRightOf="@+id/iv_last"

+ 2 - 7
app/src/main/res/layout/item_change_source.xml

@@ -5,7 +5,8 @@
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
     android:background="?android:attr/selectableItemBackground"
     android:background="?android:attr/selectableItemBackground"
-    tools:ignore="RtlHardcoded,RtlSymmetry">
+    tools:ignore="RtlHardcoded,RtlSymmetry"
+    android:paddingHorizontal="16dp">
 
 
     <androidx.appcompat.widget.AppCompatImageView
     <androidx.appcompat.widget.AppCompatImageView
         android:id="@+id/iv_good"
         android:id="@+id/iv_good"
@@ -41,7 +42,6 @@
         android:layout_marginLeft="30dp"
         android:layout_marginLeft="30dp"
         android:layout_marginTop="10dp"
         android:layout_marginTop="10dp"
         android:singleLine="true"
         android:singleLine="true"
-        android:textColor="@color/primaryText"
         tools:text="bookSourceName"
         tools:text="bookSourceName"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/tv_author"
         app:layout_constraintRight_toLeftOf="@+id/tv_author"
@@ -55,7 +55,6 @@
         android:maxWidth="160dp"
         android:maxWidth="160dp"
         android:singleLine="true"
         android:singleLine="true"
         tools:text="author"
         tools:text="author"
-        android:textColor="@color/secondaryText"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintTop_toTopOf="parent" />
         app:layout_constraintTop_toTopOf="parent" />
 
 
@@ -67,7 +66,6 @@
         android:layout_marginBottom="10dp"
         android:layout_marginBottom="10dp"
         android:singleLine="true"
         android:singleLine="true"
         tools:text="latest chapter name"
         tools:text="latest chapter name"
-        android:textColor="@color/secondaryText"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintTop_toBottomOf="@+id/tv_origin" />
         app:layout_constraintTop_toBottomOf="@+id/tv_origin" />
@@ -80,7 +78,6 @@
         android:layout_marginBottom="10dp"
         android:layout_marginBottom="10dp"
         android:singleLine="false"
         android:singleLine="false"
         tools:text="word count"
         tools:text="word count"
-        android:textColor="@color/secondaryText"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintTop_toBottomOf="@+id/tv_last" />
         app:layout_constraintTop_toBottomOf="@+id/tv_last" />
@@ -93,7 +90,6 @@
         android:layout_marginBottom="10dp"
         android:layout_marginBottom="10dp"
         android:singleLine="false"
         android:singleLine="false"
         tools:text="respond time"
         tools:text="respond time"
-        android:textColor="@color/secondaryText"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
         app:layout_constraintRight_toLeftOf="@+id/iv_checked"
@@ -111,7 +107,6 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintTop_toTopOf="parent"
-        app:tint="@color/primaryText"
         tools:visibility="visible" />
         tools:visibility="visible" />
 
 
 
 

+ 0 - 1
app/src/main/res/layout/item_cover.xml

@@ -25,7 +25,6 @@
         android:gravity="center"
         android:gravity="center"
         android:singleLine="true"
         android:singleLine="true"
         android:text="@string/book_source"
         android:text="@string/book_source"
-        android:textColor="@color/primaryText"
         android:textSize="16sp"
         android:textSize="16sp"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 

+ 1 - 2
app/src/main/res/layout/item_import_book.xml

@@ -27,8 +27,7 @@
             android:layout_height="match_parent"
             android:layout_height="match_parent"
             android:scaleType="center"
             android:scaleType="center"
             android:visibility="invisible"
             android:visibility="invisible"
-            android:src="@drawable/ic_folder"
-            app:tint="@color/primaryText" />
+            android:src="@drawable/ic_folder" />
     </FrameLayout>
     </FrameLayout>
 
 
     <LinearLayout
     <LinearLayout

+ 0 - 1
app/src/main/res/layout/item_rss_article_1.xml

@@ -27,7 +27,6 @@
         android:maxLines="2"
         android:maxLines="2"
         android:ellipsize="end"
         android:ellipsize="end"
         android:text="@string/app_name"
         android:text="@string/app_name"
-        android:textColor="@color/primaryText"
         android:textSize="15sp"
         android:textSize="15sp"
         android:textStyle="bold"
         android:textStyle="bold"
         android:paddingLeft="12dp"
         android:paddingLeft="12dp"

+ 0 - 1
app/src/main/res/layout/item_rss_article_2.xml

@@ -29,7 +29,6 @@
         android:maxLines="2"
         android:maxLines="2"
         android:ellipsize="end"
         android:ellipsize="end"
         android:text="@string/app_name"
         android:text="@string/app_name"
-        android:textColor="@color/primaryText"
         android:textSize="13sp"
         android:textSize="13sp"
         android:paddingTop="10dp"
         android:paddingTop="10dp"
         app:layout_constraintTop_toBottomOf="@+id/image_view"
         app:layout_constraintTop_toBottomOf="@+id/image_view"

+ 2 - 4
app/src/main/res/layout/item_rss_source.xml

@@ -14,8 +14,7 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:layout_gravity="center"
         android:layout_weight="1"
         android:layout_weight="1"
-        android:singleLine="true"
-        android:textColor="@color/primaryText" />
+        android:singleLine="true" />
 
 
     <io.legato.kazusa.lib.theme.view.ThemeSwitch
     <io.legato.kazusa.lib.theme.view.ThemeSwitch
         android:id="@+id/swt_enabled"
         android:id="@+id/swt_enabled"
@@ -35,7 +34,7 @@
         android:contentDescription="@string/edit"
         android:contentDescription="@string/edit"
         android:padding="6dp"
         android:padding="6dp"
         android:src="@drawable/ic_edit"
         android:src="@drawable/ic_edit"
-        android:tint="@color/primaryText" />
+        />
 
 
     <androidx.appcompat.widget.AppCompatImageView
     <androidx.appcompat.widget.AppCompatImageView
         android:id="@+id/iv_menu_more"
         android:id="@+id/iv_menu_more"
@@ -45,7 +44,6 @@
         android:contentDescription="@string/more_menu"
         android:contentDescription="@string/more_menu"
         android:padding="6dp"
         android:padding="6dp"
         android:src="@drawable/ic_more_vert"
         android:src="@drawable/ic_more_vert"
-        android:tint="@color/primaryText"
         tools:ignore="RtlHardcoded" />
         tools:ignore="RtlHardcoded" />
 
 
 </LinearLayout>
 </LinearLayout>

+ 3 - 7
app/src/main/res/layout/item_search_list.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout 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:orientation="vertical"
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
@@ -10,10 +10,6 @@
     <TextView
     <TextView
         android:id="@+id/tv_search_result"
         android:id="@+id/tv_search_result"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:singleLine="false"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toLeftOf="parent" />
+        android:layout_height="wrap_content"/>
 
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+</LinearLayout>

+ 0 - 3
app/src/main/res/layout/item_theme_config.xml

@@ -15,7 +15,6 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:layout_weight="1"
         android:maxLines="1"
         android:maxLines="1"
-        android:textColor="@color/primaryText"
         android:textSize="16sp"
         android:textSize="16sp"
         tools:text="theme" />
         tools:text="theme" />
 
 
@@ -29,7 +28,6 @@
         android:padding="6dp"
         android:padding="6dp"
         android:tooltipText="@string/edit"
         android:tooltipText="@string/edit"
         android:src="@drawable/ic_share"
         android:src="@drawable/ic_share"
-        android:tint="@color/primaryText"
         tools:ignore="UnusedAttribute" />
         tools:ignore="UnusedAttribute" />
 
 
     <androidx.appcompat.widget.AppCompatImageView
     <androidx.appcompat.widget.AppCompatImageView
@@ -41,7 +39,6 @@
         android:tooltipText="@string/delete"
         android:tooltipText="@string/delete"
         android:padding="6dp"
         android:padding="6dp"
         android:src="@drawable/ic_clear_all"
         android:src="@drawable/ic_clear_all"
-        android:tint="@color/primaryText"
         tools:ignore="UnusedAttribute" />
         tools:ignore="UnusedAttribute" />
 
 
 </LinearLayout>
 </LinearLayout>

+ 0 - 2
app/src/main/res/layout/item_toc_regex.xml

@@ -36,7 +36,6 @@
         android:contentDescription="@string/edit"
         android:contentDescription="@string/edit"
         android:padding="6dp"
         android:padding="6dp"
         android:src="@drawable/ic_edit"
         android:src="@drawable/ic_edit"
-        android:tint="@color/primaryText"
         android:tooltipText="@string/edit"
         android:tooltipText="@string/edit"
         app:layout_constraintBottom_toTopOf="@id/title_example"
         app:layout_constraintBottom_toTopOf="@id/title_example"
         app:layout_constraintRight_toLeftOf="@id/iv_delete"
         app:layout_constraintRight_toLeftOf="@id/iv_delete"
@@ -51,7 +50,6 @@
         android:contentDescription="@string/delete"
         android:contentDescription="@string/delete"
         android:padding="6dp"
         android:padding="6dp"
         android:src="@drawable/ic_clear_all"
         android:src="@drawable/ic_clear_all"
-        android:tint="@color/primaryText"
         android:tooltipText="@string/delete"
         android:tooltipText="@string/delete"
         app:layout_constraintBottom_toTopOf="@id/title_example"
         app:layout_constraintBottom_toTopOf="@id/title_example"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintRight_toRightOf="parent"

+ 4 - 7
app/src/main/res/layout/view_detail_seek_bar.xml

@@ -12,7 +12,6 @@
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:singleLine="true"
         android:singleLine="true"
         android:text="seek"
         android:text="seek"
-        android:textColor="@color/primaryText"
         tools:ignore="HardcodedText" />
         tools:ignore="HardcodedText" />
 
 
     <androidx.appcompat.widget.AppCompatImageView
     <androidx.appcompat.widget.AppCompatImageView
@@ -21,8 +20,7 @@
         android:layout_height="24dp"
         android:layout_height="24dp"
         android:contentDescription="@string/reduce"
         android:contentDescription="@string/reduce"
         android:src="@drawable/ic_reduce"
         android:src="@drawable/ic_reduce"
-        android:background="?android:attr/selectableItemBackgroundBorderless"
-        android:tint="@color/primaryText" />
+        android:background="?android:attr/selectableItemBackgroundBorderless" />
 
 
     <io.legato.kazusa.lib.theme.view.ThemeSlider
     <io.legato.kazusa.lib.theme.view.ThemeSlider
         android:id="@+id/slider"
         android:id="@+id/slider"
@@ -39,16 +37,15 @@
         android:contentDescription="@string/plus"
         android:contentDescription="@string/plus"
         android:src="@drawable/ic_add"
         android:src="@drawable/ic_add"
         android:background="?android:attr/selectableItemBackgroundBorderless"
         android:background="?android:attr/selectableItemBackgroundBorderless"
-        android:tint="@color/primaryText" />
+        />
 
 
     <TextView
     <TextView
         android:id="@+id/tv_seek_value"
         android:id="@+id/tv_seek_value"
         android:layout_width="60dp"
         android:layout_width="60dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:gravity="right"
+        android:gravity="end"
         android:singleLine="true"
         android:singleLine="true"
         android:text="0"
         android:text="0"
-        android:textColor="@color/primaryText"
-        tools:ignore="HardcodedText,RtlHardcoded" />
+        />
 
 
 </LinearLayout>
 </LinearLayout>

+ 23 - 29
app/src/main/res/layout/view_search_menu.xml

@@ -23,7 +23,6 @@
         android:contentDescription="上个结果"
         android:contentDescription="上个结果"
         android:rotation="180"
         android:rotation="180"
         android:src="@drawable/ic_arrow_right"
         android:src="@drawable/ic_arrow_right"
-        android:tint="@color/primaryText"
         android:tooltipText="@string/search_content"
         android:tooltipText="@string/search_content"
         app:elevation="2dp"
         app:elevation="2dp"
         app:fabSize="mini"
         app:fabSize="mini"
@@ -40,7 +39,6 @@
         android:layout_margin="16dp"
         android:layout_margin="16dp"
         android:contentDescription="下个结果"
         android:contentDescription="下个结果"
         android:src="@drawable/ic_arrow_right"
         android:src="@drawable/ic_arrow_right"
-        android:tint="@color/primaryText"
         android:tooltipText="@string/search_content"
         android:tooltipText="@string/search_content"
         app:elevation="2dp"
         app:elevation="2dp"
         app:fabSize="mini"
         app:fabSize="mini"
@@ -66,47 +64,49 @@
             android:paddingLeft="10dp"
             android:paddingLeft="10dp"
             android:paddingRight="10dp">
             android:paddingRight="10dp">
 
 
-            <androidx.appcompat.widget.AppCompatImageView
+            <TextView
+                android:id="@+id/tv_current_search_info"
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:background="?android:attr/selectableItemBackgroundBorderless"
+                android:ellipsize="middle"
+                android:gravity="center_vertical"
+                android:paddingLeft="10dp"
+                android:paddingRight="10dp"
+                android:singleLine="true"
+                android:textSize="12sp" />
+
+            <com.google.android.material.button.MaterialButton
                 android:id="@+id/iv_search_content_up"
                 android:id="@+id/iv_search_content_up"
                 android:layout_width="36dp"
                 android:layout_width="36dp"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"
-                android:background="?android:attr/selectableItemBackgroundBorderless"
+                style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
+                app:iconGravity="textStart"
                 android:contentDescription="@string/go_to_top"
                 android:contentDescription="@string/go_to_top"
-                android:src="@drawable/ic_arrow_drop_up"
+                app:icon="@drawable/ic_arrow_drop_up"
                 android:tooltipText="@string/go_to_top"
                 android:tooltipText="@string/go_to_top"
-                app:tint="@color/primaryText"
+                android:layout_marginEnd="8dp"
                 tools:ignore="UnusedAttribute" />
                 tools:ignore="UnusedAttribute" />
 
 
-            <androidx.appcompat.widget.AppCompatImageView
+            <com.google.android.material.button.MaterialButton
                 android:id="@+id/iv_search_content_down"
                 android:id="@+id/iv_search_content_down"
                 android:layout_width="36dp"
                 android:layout_width="36dp"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"
-                android:background="?android:attr/selectableItemBackgroundBorderless"
+                style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
+                app:iconGravity="textStart"
                 android:contentDescription="@string/go_to_bottom"
                 android:contentDescription="@string/go_to_bottom"
-                android:src="@drawable/ic_arrow_drop_down"
+                app:icon="@drawable/ic_arrow_drop_down"
                 android:tooltipText="@string/go_to_bottom"
                 android:tooltipText="@string/go_to_bottom"
-                app:tint="@color/primaryText"
                 tools:ignore="UnusedAttribute" />
                 tools:ignore="UnusedAttribute" />
 
 
-            <TextView
-                android:id="@+id/tv_current_search_info"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:background="?android:attr/selectableItemBackgroundBorderless"
-                android:ellipsize="middle"
-                android:gravity="center_vertical"
-                android:paddingLeft="10dp"
-                android:paddingRight="10dp"
-                android:singleLine="true"
-                android:textColor="@color/primaryText"
-                android:textSize="12sp" />
         </LinearLayout>
         </LinearLayout>
 
 
         <LinearLayout
         <LinearLayout
             android:id="@+id/ll_bottom_bg"
             android:id="@+id/ll_bottom_bg"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
+            android:background="?attr/colorSurface"
             android:baselineAligned="false"
             android:baselineAligned="false"
             android:orientation="horizontal">
             android:orientation="horizontal">
 
 
@@ -138,7 +138,6 @@
                     android:contentDescription="结果"
                     android:contentDescription="结果"
                     android:maxHeight="20dp"
                     android:maxHeight="20dp"
                     android:src="@drawable/ic_toc"
                     android:src="@drawable/ic_toc"
-                    app:tint="@color/primaryText"
                     tools:ignore="NestedWeights" />
                     tools:ignore="NestedWeights" />
 
 
                 <TextView
                 <TextView
@@ -149,7 +148,6 @@
                     android:layout_marginTop="3dp"
                     android:layout_marginTop="3dp"
                     android:maxLines="1"
                     android:maxLines="1"
                     android:text="结果"
                     android:text="结果"
-                    android:textColor="@color/primaryText"
                     android:textSize="12sp" />
                     android:textSize="12sp" />
             </LinearLayout>
             </LinearLayout>
 
 
@@ -179,7 +177,6 @@
                     android:contentDescription="@string/main_menu"
                     android:contentDescription="@string/main_menu"
                     android:maxHeight="20dp"
                     android:maxHeight="20dp"
                     android:src="@drawable/ic_menu"
                     android:src="@drawable/ic_menu"
-                    app:tint="@color/primaryText"
                     tools:ignore="NestedWeights" />
                     tools:ignore="NestedWeights" />
 
 
                 <TextView
                 <TextView
@@ -190,7 +187,6 @@
                     android:layout_marginTop="3dp"
                     android:layout_marginTop="3dp"
                     android:maxLines="1"
                     android:maxLines="1"
                     android:text="@string/main_menu"
                     android:text="@string/main_menu"
-                    android:textColor="@color/primaryText"
                     android:textSize="12sp" />
                     android:textSize="12sp" />
             </LinearLayout>
             </LinearLayout>
 
 
@@ -219,7 +215,6 @@
                     android:contentDescription="退出"
                     android:contentDescription="退出"
                     android:maxHeight="20dp"
                     android:maxHeight="20dp"
                     android:src="@drawable/ic_auto_page_stop"
                     android:src="@drawable/ic_auto_page_stop"
-                    app:tint="@color/primaryText"
                     tools:ignore="NestedWeights" />
                     tools:ignore="NestedWeights" />
 
 
                 <TextView
                 <TextView
@@ -230,7 +225,6 @@
                     android:layout_marginTop="3dp"
                     android:layout_marginTop="3dp"
                     android:maxLines="1"
                     android:maxLines="1"
                     android:text="退出"
                     android:text="退出"
-                    android:textColor="@color/primaryText"
                     android:textSize="12sp" />
                     android:textSize="12sp" />
             </LinearLayout>
             </LinearLayout>
 
 

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

@@ -74,7 +74,7 @@
         <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>
-<!--        <item name="collapsingToolbarLayoutStyle">@style/CollapsingToolbar</item>-->
+        <item name="collapsingToolbarLayoutStyle">@style/CollapsingToolbar</item>
     </style>
     </style>
 
 
     <style name="Widget.App.TabLayout" parent="Widget.Material3.TabLayout">
     <style name="Widget.App.TabLayout" parent="Widget.Material3.TabLayout">
@@ -115,7 +115,7 @@
 
 
     <style name="CollapsingToolbar" parent="Widget.Material3.CollapsingToolbar">
     <style name="CollapsingToolbar" parent="Widget.Material3.CollapsingToolbar">
         <item name="titleCollapseMode">scale</item>
         <item name="titleCollapseMode">scale</item>
-        <item name="contentScrim">?attr/colorSurfaceContainer</item>
+        <item name="contentScrim">?attr/colorSurface</item>
     </style>
     </style>
 
 
     <style name="ChapterNameText">
     <style name="ChapterNameText">