HapeLee 1 vuosi sitten
vanhempi
commit
b86d90021c
85 muutettua tiedostoa jossa 543 lisäystä ja 789 poistoa
  1. 1 1
      app/src/main/java/io/legado/app/ui/book/bookmark/AllBookmarkActivity.kt
  2. 10 3
      app/src/main/java/io/legado/app/ui/book/bookmark/BookmarkDecoration.kt
  3. 11 6
      app/src/main/java/io/legado/app/ui/book/bookmark/BookmarkDialog.kt
  4. 1 1
      app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt
  5. 1 2
      app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt
  6. 1 1
      app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt
  7. 10 5
      app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt
  8. 4 4
      app/src/main/java/io/legado/app/ui/book/toc/ChapterListAdapter.kt
  9. 2 2
      app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt
  10. 1 1
      app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt
  11. 48 16
      app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt
  12. 40 13
      app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt
  13. 12 8
      app/src/main/java/io/legado/app/ui/widget/LabelsBar.kt
  14. 4 4
      app/src/main/java/io/legado/app/ui/widget/SearchView.kt
  15. 41 35
      app/src/main/java/io/legado/app/ui/widget/text/AccentBgTextView.kt
  16. 2 17
      app/src/main/java/io/legado/app/utils/ToastUtils.kt
  17. 3 0
      app/src/main/res/drawable/ic_arrow_up.xml
  18. 2 8
      app/src/main/res/drawable/ic_backup.xml
  19. 2 4
      app/src/main/res/drawable/ic_baseline_sort_24.xml
  20. 2 12
      app/src/main/res/drawable/ic_book_has.xml
  21. 2 9
      app/src/main/res/drawable/ic_brightness_auto.xml
  22. 2 8
      app/src/main/res/drawable/ic_bug_report.xml
  23. 2 18
      app/src/main/res/drawable/ic_chapter_list.xml
  24. 2 12
      app/src/main/res/drawable/ic_check_source.xml
  25. 2 15
      app/src/main/res/drawable/ic_copy.xml
  26. 2 33
      app/src/main/res/drawable/ic_daytime.xml
  27. 2 8
      app/src/main/res/drawable/ic_download.xml
  28. 2 15
      app/src/main/res/drawable/ic_exchange.xml
  29. 2 10
      app/src/main/res/drawable/ic_exchange_order.xml
  30. 0 9
      app/src/main/res/drawable/ic_expand_less.xml
  31. 0 9
      app/src/main/res/drawable/ic_expand_more.xml
  32. 2 8
      app/src/main/res/drawable/ic_fast_forward.xml
  33. 3 9
      app/src/main/res/drawable/ic_fast_rewind.xml
  34. 2 12
      app/src/main/res/drawable/ic_image.xml
  35. 3 1
      app/src/main/res/drawable/ic_lock_outline.xml
  36. 2 14
      app/src/main/res/drawable/ic_more.xml
  37. 3 9
      app/src/main/res/drawable/ic_network_check.xml
  38. 2 9
      app/src/main/res/drawable/ic_outline_cloud_24.xml
  39. 0 10
      app/src/main/res/drawable/ic_outline_delete.xml
  40. 0 14
      app/src/main/res/drawable/ic_pause_outline_24dp.xml
  41. 0 11
      app/src/main/res/drawable/ic_play_outline_24dp.xml
  42. 2 6
      app/src/main/res/drawable/ic_praise.xml
  43. 2 8
      app/src/main/res/drawable/ic_reduce.xml
  44. 0 0
      app/src/main/res/drawable/ic_refresh.xml
  45. 0 9
      app/src/main/res/drawable/ic_refresh_white_24dp.xml
  46. 2 8
      app/src/main/res/drawable/ic_restore.xml
  47. 2 12
      app/src/main/res/drawable/ic_scan.xml
  48. 2 9
      app/src/main/res/drawable/ic_scoring.xml
  49. 2 9
      app/src/main/res/drawable/ic_screen.xml
  50. 0 3
      app/src/main/res/drawable/ic_star_border.xml
  51. 2 8
      app/src/main/res/drawable/ic_storage_black_24dp.xml
  52. 2 9
      app/src/main/res/drawable/ic_swap_horiz.xml
  53. 0 9
      app/src/main/res/drawable/ic_time_add_24dp.xml
  54. 2 18
      app/src/main/res/drawable/ic_timer_black_24dp.xml
  55. 2 12
      app/src/main/res/drawable/ic_update.xml
  56. 2 8
      app/src/main/res/drawable/ic_volume_up.xml
  57. 3 10
      app/src/main/res/drawable/ic_web_service_noti.xml
  58. 99 96
      app/src/main/res/layout/activity_book_info.xml
  59. 1 1
      app/src/main/res/layout/activity_rss_artivles.xml
  60. 49 52
      app/src/main/res/layout/dialog_bookmark.xml
  61. 11 17
      app/src/main/res/layout/dialog_dict_rule_edit.xml
  62. 5 5
      app/src/main/res/layout/fragment_bookshelf1.xml
  63. 18 24
      app/src/main/res/layout/fragment_chapter_list.xml
  64. 17 9
      app/src/main/res/layout/fragment_explore.xml
  65. 6 6
      app/src/main/res/layout/fragment_my_config.xml
  66. 16 9
      app/src/main/res/layout/fragment_rss.xml
  67. 7 8
      app/src/main/res/layout/item_bookmark.xml
  68. 1 1
      app/src/main/res/layout/item_bookshelf_grid.xml
  69. 8 4
      app/src/main/res/layout/item_chapter_list.xml
  70. 1 3
      app/src/main/res/layout/item_rss_article.xml
  71. 10 3
      app/src/main/res/layout/item_search.xml
  72. 3 6
      app/src/main/res/layout/item_server_select.xml
  73. 2 0
      app/src/main/res/layout/view_preference.xml
  74. 2 4
      app/src/main/res/layout/view_preference_category.xml
  75. 1 2
      app/src/main/res/layout/view_read_menu.xml
  76. 2 1
      app/src/main/res/layout/view_tab_layout.xml
  77. 1 1
      app/src/main/res/menu/book_manga.xml
  78. 1 1
      app/src/main/res/menu/book_read.xml
  79. 1 1
      app/src/main/res/menu/book_remote.xml
  80. 1 1
      app/src/main/res/menu/change_cover.xml
  81. 1 1
      app/src/main/res/menu/change_source.xml
  82. 1 1
      app/src/main/res/menu/main_bookshelf.xml
  83. 6 0
      app/src/main/res/menu/main_rss.xml
  84. 2 2
      app/src/main/res/menu/rss_read.xml
  85. 12 6
      app/src/main/res/values/styles.xml

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/bookmark/AllBookmarkActivity.kt

@@ -52,7 +52,7 @@ class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookma
     }
     }
 
 
     private fun initView() {
     private fun initView() {
-        binding.recyclerView.addItemDecoration(BookmarkDecoration(adapter))
+        binding.recyclerView.addItemDecoration(BookmarkDecoration(this,adapter))
         binding.recyclerView.adapter = adapter
         binding.recyclerView.adapter = adapter
         binding.recyclerView.applyNavigationBarPadding()
         binding.recyclerView.applyNavigationBarPadding()
     }
     }

+ 10 - 3
app/src/main/java/io/legado/app/ui/book/bookmark/BookmarkDecoration.kt

@@ -1,12 +1,15 @@
 package io.legado.app.ui.book.bookmark
 package io.legado.app.ui.book.bookmark
 
 
+import android.content.Context
 import android.graphics.Canvas
 import android.graphics.Canvas
+import android.graphics.Color
 import android.graphics.Paint
 import android.graphics.Paint
 import android.graphics.Rect
 import android.graphics.Rect
 import android.text.TextPaint
 import android.text.TextPaint
 import android.view.View
 import android.view.View
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
+import com.google.android.material.color.MaterialColors
 //import io.legado.app.lib.theme.accentColor
 //import io.legado.app.lib.theme.accentColor
 //import io.legado.app.lib.theme.backgroundColor
 //import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.utils.dpToPx
 import io.legado.app.utils.dpToPx
@@ -14,19 +17,23 @@ import io.legado.app.utils.spToPx
 import splitties.init.appCtx
 import splitties.init.appCtx
 import kotlin.math.min
 import kotlin.math.min
 
 
-class BookmarkDecoration(val adapter: BookmarkAdapter) : RecyclerView.ItemDecoration() {
+class BookmarkDecoration(
+    private val context: Context,
+    val adapter: BookmarkAdapter) : RecyclerView.ItemDecoration() {
 
 
     private val headerLeft = 16f.dpToPx()
     private val headerLeft = 16f.dpToPx()
     private val headerHeight = 32f.dpToPx()
     private val headerHeight = 32f.dpToPx()
 
 
     private val headerPaint = Paint().apply {
     private val headerPaint = Paint().apply {
-        //color = appCtx.backgroundColor
+        color = MaterialColors.getColor(context, com.google.android.material.R.attr.colorSurfaceContainer, Color.GRAY)
     }
     }
+
     private val textPaint = TextPaint().apply {
     private val textPaint = TextPaint().apply {
         textSize = 16f.spToPx()
         textSize = 16f.spToPx()
-        //color = appCtx.accentColor
+        color = MaterialColors.getColor(context, com.google.android.material.R.attr.colorPrimary, Color.BLACK)
         isAntiAlias = true
         isAntiAlias = true
     }
     }
+
     private val textRect = Rect()
     private val textRect = Rect()
 
 
     override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) {
     override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) {

+ 11 - 6
app/src/main/java/io/legado/app/ui/book/bookmark/BookmarkDialog.kt

@@ -5,6 +5,7 @@ import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.lifecycleScope
 import io.legado.app.R
 import io.legado.app.R
+import io.legado.app.base.BaseBottomSheetDialogFragment
 import io.legado.app.base.BaseDialogFragment
 import io.legado.app.base.BaseDialogFragment
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.Bookmark
 import io.legado.app.data.entities.Bookmark
@@ -17,7 +18,7 @@ import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 import kotlinx.coroutines.withContext
 
 
-class BookmarkDialog() : BaseDialogFragment(R.layout.dialog_bookmark, true) {
+class BookmarkDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_bookmark) {
 
 
     constructor(bookmark: Bookmark, editPos: Int = -1) : this() {
     constructor(bookmark: Bookmark, editPos: Int = -1) : this() {
         arguments = Bundle().apply {
         arguments = Bundle().apply {
@@ -40,22 +41,25 @@ class BookmarkDialog() : BaseDialogFragment(R.layout.dialog_bookmark, true) {
             return
             return
         }
         }
 
 
-        @Suppress("DEPRECATION")
+        //@Suppress("DEPRECATION")
         val bookmark = arguments.getParcelable<Bookmark>("bookmark")
         val bookmark = arguments.getParcelable<Bookmark>("bookmark")
         bookmark ?: let {
         bookmark ?: let {
             dismiss()
             dismiss()
             return
             return
         }
         }
         val editPos = arguments.getInt("editPos", -1)
         val editPos = arguments.getInt("editPos", -1)
-        binding.tvFooterLeft.visible(editPos >= 0)
+        binding.btnDelete.visible(editPos >= 0) // 替换 tvFooterLeft
+
         binding.run {
         binding.run {
             tvChapterName.text = bookmark.chapterName
             tvChapterName.text = bookmark.chapterName
             editBookText.setText(bookmark.bookText)
             editBookText.setText(bookmark.bookText)
             editContent.setText(bookmark.content)
             editContent.setText(bookmark.content)
-            tvCancel.setOnClickListener {
+
+            btnCancel.setOnClickListener {
                 dismiss()
                 dismiss()
             }
             }
-            tvOk.setOnClickListener {
+
+            btnOk.setOnClickListener {
                 bookmark.bookText = editBookText.text?.toString() ?: ""
                 bookmark.bookText = editBookText.text?.toString() ?: ""
                 bookmark.content = editContent.text?.toString() ?: ""
                 bookmark.content = editContent.text?.toString() ?: ""
                 lifecycleScope.launch {
                 lifecycleScope.launch {
@@ -65,7 +69,8 @@ class BookmarkDialog() : BaseDialogFragment(R.layout.dialog_bookmark, true) {
                     dismiss()
                     dismiss()
                 }
                 }
             }
             }
-            tvFooterLeft.setOnClickListener {
+
+            btnDelete.setOnClickListener {
                 lifecycleScope.launch {
                 lifecycleScope.launch {
                     withContext(IO) {
                     withContext(IO) {
                         appDb.bookmarkDao.delete(bookmark)
                         appDb.bookmarkDao.delete(bookmark)

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt

@@ -90,7 +90,7 @@ class ChangeCoverDialog() : BaseDialogFragment(R.layout.dialog_change_cover),
                 }
                 }
             } else {
             } else {
                 startStopMenuItem?.let { item ->
                 startStopMenuItem?.let { item ->
-                    item.setIcon(R.drawable.ic_refresh_black_24dp)
+                    item.setIcon(R.drawable.ic_refresh)
                     item.setTitle(R.string.refresh)
                     item.setTitle(R.string.refresh)
                 }
                 }
             }
             }

+ 1 - 2
app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt

@@ -34,7 +34,6 @@ import io.legado.app.ui.book.source.edit.BookSourceEditActivity
 import io.legado.app.ui.book.source.manage.BookSourceActivity
 import io.legado.app.ui.book.source.manage.BookSourceActivity
 import io.legado.app.ui.widget.dialog.WaitDialog
 import io.legado.app.ui.widget.dialog.WaitDialog
 import io.legado.app.ui.widget.recycler.VerticalDivider
 import io.legado.app.ui.widget.recycler.VerticalDivider
-import io.legado.app.utils.ColorUtils
 import io.legado.app.utils.StartActivityContract
 import io.legado.app.utils.StartActivityContract
 import io.legado.app.utils.applyTint
 import io.legado.app.utils.applyTint
 import io.legado.app.utils.dpToPx
 import io.legado.app.utils.dpToPx
@@ -223,7 +222,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
                 }
                 }
             } else {
             } else {
                 startStopMenuItem?.let { item ->
                 startStopMenuItem?.let { item ->
-                    item.setIcon(R.drawable.ic_refresh_black_24dp)
+                    item.setIcon(R.drawable.ic_refresh)
                     item.setTitle(R.string.refresh)
                     item.setTitle(R.string.refresh)
                 }
                 }
             }
             }

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt

@@ -224,7 +224,7 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
                 }
                 }
             } else {
             } else {
                 startStopMenuItem?.let { item ->
                 startStopMenuItem?.let { item ->
-                    item.setIcon(R.drawable.ic_refresh_black_24dp)
+                    item.setIcon(R.drawable.ic_refresh)
                     item.setTitle(R.string.refresh)
                     item.setTitle(R.string.refresh)
                 }
                 }
             }
             }

+ 10 - 5
app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt

@@ -14,6 +14,7 @@ import android.widget.CheckBox
 import android.widget.LinearLayout
 import android.widget.LinearLayout
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.activity.viewModels
 import androidx.activity.viewModels
+import androidx.core.content.ContextCompat
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.lifecycleScope
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.VMBaseActivity
 import io.legado.app.base.VMBaseActivity
@@ -163,7 +164,7 @@ class BookInfoActivity :
 //        binding.refreshLayout?.setColorSchemeColors(accentColor)
 //        binding.refreshLayout?.setColorSchemeColors(accentColor)
 //        binding.llInfo.setBackgroundColor(backgroundColor)
 //        binding.llInfo.setBackgroundColor(backgroundColor)
 //        binding.flAction.setBackgroundColor(bottomBackground)
 //        binding.flAction.setBackgroundColor(bottomBackground)
-        binding.flAction.applyNavigationBarPadding()
+        //binding.flAction.applyNavigationBarPadding()
         binding.btnShelf?.text = getString(R.string.remove_from_bookshelf)
         binding.btnShelf?.text = getString(R.string.remove_from_bookshelf)
         binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading))
         binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading))
 
 
@@ -415,10 +416,14 @@ class BookInfoActivity :
     }
     }
 
 
     private fun upTvBookshelf() {
     private fun upTvBookshelf() {
-        if (viewModel.inBookshelf) {
-            binding.btnShelf?.text = getString(R.string.remove_from_bookshelf)
-        } else {
-            binding.btnShelf?.text = getString(R.string.add_to_bookshelf)
+        binding.btnShelf?.apply {
+            if (viewModel.inBookshelf) {
+                text = getString(R.string.remove_from_bookshelf)
+                icon = ContextCompat.getDrawable(context, R.drawable.ic_clear_all)
+            } else {
+                text = getString(R.string.add_to_bookshelf)
+                icon = ContextCompat.getDrawable(context, R.drawable.ic_star)
+            }
         }
         }
         editMenuItem?.isVisible = viewModel.inBookshelf
         editMenuItem?.isVisible = viewModel.inBookshelf
     }
     }

+ 4 - 4
app/src/main/java/io/legado/app/ui/book/toc/ChapterListAdapter.kt

@@ -5,6 +5,7 @@ import android.os.Handler
 import android.os.Looper
 import android.os.Looper
 import android.view.ViewGroup
 import android.view.ViewGroup
 import androidx.recyclerview.widget.DiffUtil
 import androidx.recyclerview.widget.DiffUtil
+import com.google.android.material.color.MaterialColors
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.adapter.DiffRecyclerAdapter
 import io.legado.app.base.adapter.DiffRecyclerAdapter
 import io.legado.app.base.adapter.ItemViewHolder
 import io.legado.app.base.adapter.ItemViewHolder
@@ -129,14 +130,13 @@ class ChapterListAdapter(context: Context, val callback: Callback) :
                     || cacheFileNames.contains(item.getFileName())
                     || cacheFileNames.contains(item.getFileName())
             if (payloads.isEmpty()) {
             if (payloads.isEmpty()) {
                 if (isDur) {
                 if (isDur) {
-                    //tvChapterName.setTextColor(context.accentColor)
+                    tvChapterName.setTextColor(MaterialColors.getColor(tvChapterName, com.google.android.material.R.attr.colorSecondary))
                 } else {
                 } else {
-                    tvChapterName.setTextColor(context.getCompatColor(R.color.primaryText))
+                    tvChapterName.setTextColor(MaterialColors.getColor(tvChapterName, com.google.android.material.R.attr.colorOnSurface))
                 }
                 }
                 tvChapterName.text = getDisplayTitle(item)
                 tvChapterName.text = getDisplayTitle(item)
                 if (item.isVolume) {
                 if (item.isVolume) {
-                    //卷名,如第一卷 突出显示
-                    tvChapterItem.setBackgroundColor(context.getCompatColor(R.color.btn_bg_press))
+                    tvChapterItem.setBackgroundColor(MaterialColors.getColor(tvChapterItem, com.google.android.material.R.attr.colorSurfaceVariant))
                 } else {
                 } else {
                     //普通章节 保持不变
                     //普通章节 保持不变
                     tvChapterItem.background =
                     tvChapterItem.background =

+ 2 - 2
app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt

@@ -64,10 +64,10 @@ class ChapterListFragment : VMBaseFragment<TocViewModel>(R.layout.fragment_chapt
     }
     }
 
 
     private fun initView() = binding.run {
     private fun initView() = binding.run {
-        ivChapterTop.setOnClickListener {
+        btnChapterTop.setOnClickListener {
             mLayoutManager.scrollToPositionWithOffset(0, 0)
             mLayoutManager.scrollToPositionWithOffset(0, 0)
         }
         }
-        ivChapterBottom.setOnClickListener {
+        btnChapterBottom.setOnClickListener {
             if (adapter.itemCount > 0) {
             if (adapter.itemCount > 0) {
                 mLayoutManager.scrollToPositionWithOffset(adapter.itemCount - 1, 0)
                 mLayoutManager.scrollToPositionWithOffset(adapter.itemCount - 1, 0)
             }
             }

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt

@@ -57,7 +57,7 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
 
 
     override fun onActivityCreated(savedInstanceState: Bundle?) {
     override fun onActivityCreated(savedInstanceState: Bundle?) {
         tabLayout = binding.titleBar.findViewById(R.id.tab_layout)
         tabLayout = binding.titleBar.findViewById(R.id.tab_layout)
-        tabLayout.isTabIndicatorFullWidth = false
+        //tabLayout.isTabIndicatorFullWidth = false
         //tabLayout.setSelectedTabIndicatorColor(accentColor)
         //tabLayout.setSelectedTabIndicatorColor(accentColor)
         binding.viewPager.adapter = TabFragmentPageAdapter()
         binding.viewPager.adapter = TabFragmentPageAdapter()
         tabLayout.setupWithViewPager(binding.viewPager)
         tabLayout.setupWithViewPager(binding.viewPager)

+ 48 - 16
app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt

@@ -5,13 +5,16 @@ import android.view.Menu
 import android.view.MenuItem
 import android.view.MenuItem
 import android.view.SubMenu
 import android.view.SubMenu
 import android.view.View
 import android.view.View
-import androidx.appcompat.widget.SearchView
+import android.view.inputmethod.EditorInfo
 import androidx.core.view.isGone
 import androidx.core.view.isGone
+import androidx.core.widget.doAfterTextChanged
 import androidx.fragment.app.viewModels
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.lifecycleScope
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
+import com.google.android.material.search.SearchBar
+import com.google.android.material.search.SearchView
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.VMBaseFragment
 import io.legado.app.base.VMBaseFragment
 import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppLog
@@ -63,7 +66,8 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
     private val binding by viewBinding(FragmentExploreBinding::bind)
     private val binding by viewBinding(FragmentExploreBinding::bind)
     private val adapter by lazy { ExploreAdapter(requireContext(), this) }
     private val adapter by lazy { ExploreAdapter(requireContext(), this) }
     private val linearLayoutManager by lazy { LinearLayoutManager(context) }
     private val linearLayoutManager by lazy { LinearLayoutManager(context) }
-    private val searchView: SearchView by lazy { binding.searchLayout.searchView }
+    private val searchBar: SearchBar by lazy { binding.searchBar }
+    private val searchView: SearchView by lazy { binding.searchView }
     private val diffItemCallBack = ExploreDiffItemCallBack()
     private val diffItemCallBack = ExploreDiffItemCallBack()
     private val groups = linkedSetOf<String>()
     private val groups = linkedSetOf<String>()
     private var exploreFlowJob: Job? = null
     private var exploreFlowJob: Job? = null
@@ -77,27 +81,47 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
         upExploreData()
         upExploreData()
     }
     }
 
 
-
-
     override fun onPause() {
     override fun onPause() {
         super.onPause()
         super.onPause()
         searchView.clearFocus()
         searchView.clearFocus()
     }
     }
 
 
     private fun initSearchView() {
     private fun initSearchView() {
-        //searchView.applyTint(primaryTextColor)
-        searchView.isSubmitButtonEnabled = true
-        searchView.queryHint = getString(R.string.screen_find)
-        searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
-            override fun onQueryTextSubmit(query: String?): Boolean {
-                return false
+        searchView.hint = getString(R.string.screen_find)
+
+        searchBar.setOnClickListener {
+            searchView.show()
+            if (searchView.text.isEmpty()) {
+                searchView.hint = getString(R.string.screen_find)
             }
             }
+        }
 
 
-            override fun onQueryTextChange(newText: String?): Boolean {
-                upExploreData(newText)
-                return false
+        searchView.editText.setOnEditorActionListener { _, actionId, _ ->
+            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
+                val query = searchView.text.toString()
+                upExploreData(query)
+                searchBar.hint = if (query.isEmpty()) {
+                    getString(R.string.screen_find)
+                } else {
+                    query
+                }
+                searchView.hide()
+                return@setOnEditorActionListener true
             }
             }
-        })
+            false
+        }
+
+        searchView.editText.doAfterTextChanged { editable ->
+            editable?.let {
+                upExploreData(it.toString())
+
+                if (it.isEmpty()) {
+                    searchBar.hint = getString(R.string.search_rss_source)
+                }
+            }
+        }
+
+        searchView.setupWithSearchBar(searchBar)
     }
     }
 
 
     private fun initRecyclerView() {
     private fun initRecyclerView() {
@@ -157,7 +181,7 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
             ).catch {
             ).catch {
                 AppLog.put("发现界面更新数据出错", it)
                 AppLog.put("发现界面更新数据出错", it)
             }.conflate().flowOn(IO).collect {
             }.conflate().flowOn(IO).collect {
-                binding.tvEmptyMsg.isGone = it.isNotEmpty() || searchView.query.isNotEmpty()
+                binding.tvEmptyMsg.isGone = it.isNotEmpty() || searchView.text.isNotEmpty() == true
                 adapter.setItems(it, diffItemCallBack)
                 adapter.setItems(it, diffItemCallBack)
                 delay(500)
                 delay(500)
             }
             }
@@ -174,10 +198,18 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
     override val scope: CoroutineScope
     override val scope: CoroutineScope
         get() = viewLifecycleOwner.lifecycleScope
         get() = viewLifecycleOwner.lifecycleScope
 
 
+    override fun onCompatCreateOptionsMenu(menu: Menu) {
+        menuInflater.inflate(R.menu.main_explore, menu)
+        groupsMenu = menu.findItem(R.id.menu_group)?.subMenu
+        upGroupsMenu()
+    }
+
     override fun onCompatOptionsItemSelected(item: MenuItem) {
     override fun onCompatOptionsItemSelected(item: MenuItem) {
         super.onCompatOptionsItemSelected(item)
         super.onCompatOptionsItemSelected(item)
         if (item.groupId == R.id.menu_group_text) {
         if (item.groupId == R.id.menu_group_text) {
-            searchView.setQuery("group:${item.title}", true)
+            val query = "group:${item.title}"
+            searchView.setText(query)
+            upExploreData(query)
         }
         }
     }
     }
 
 

+ 40 - 13
app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt

@@ -5,10 +5,13 @@ import android.view.Menu
 import android.view.MenuItem
 import android.view.MenuItem
 import android.view.SubMenu
 import android.view.SubMenu
 import android.view.View
 import android.view.View
-import androidx.appcompat.widget.SearchView
+import android.view.inputmethod.EditorInfo
+import androidx.core.widget.doAfterTextChanged
 import androidx.fragment.app.viewModels
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.lifecycleScope
+import com.google.android.material.search.SearchBar
+import com.google.android.material.search.SearchView
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.VMBaseFragment
 import io.legado.app.base.VMBaseFragment
 import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppLog
@@ -62,7 +65,8 @@ class RssFragment() : VMBaseFragment<RssViewModel>(R.layout.fragment_rss),
     private val adapter by lazy {
     private val adapter by lazy {
         RssAdapter(requireContext(), this, this, viewLifecycleOwner.lifecycle)
         RssAdapter(requireContext(), this, this, viewLifecycleOwner.lifecycle)
     }
     }
-    private val searchView: SearchView by lazy { binding.searchLayout.searchView }
+    private val searchBar: SearchBar by lazy { binding.searchBar }
+    private val searchView: SearchView by lazy { binding.searchView }
     private var groupsFlowJob: Job? = null
     private var groupsFlowJob: Job? = null
     private var rssFlowJob: Job? = null
     private var rssFlowJob: Job? = null
     private val groups = linkedSetOf<String>()
     private val groups = linkedSetOf<String>()
@@ -88,7 +92,8 @@ class RssFragment() : VMBaseFragment<RssViewModel>(R.layout.fragment_rss),
             R.id.menu_rss_config -> startActivity<RssSourceActivity>()
             R.id.menu_rss_config -> startActivity<RssSourceActivity>()
             R.id.menu_rss_star -> startActivity<RssFavoritesActivity>()
             R.id.menu_rss_star -> startActivity<RssFavoritesActivity>()
             else -> if (item.groupId == R.id.menu_group_text) {
             else -> if (item.groupId == R.id.menu_group_text) {
-                searchView.setQuery("group:${item.title}", true)
+                searchView.setText("group:${item.title}")
+                upRssFlowJob("group:${item.title}")
             }
             }
         }
         }
     }
     }
@@ -106,19 +111,41 @@ class RssFragment() : VMBaseFragment<RssViewModel>(R.layout.fragment_rss),
     }
     }
 
 
     private fun initSearchView() {
     private fun initSearchView() {
-        //searchView.applyTint(primaryTextColor)
-        searchView.isSubmitButtonEnabled = true
-        searchView.queryHint = getString(R.string.rss)
-        searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
-            override fun onQueryTextSubmit(query: String?): Boolean {
-                return false
+        searchView.hint = getString(R.string.search_rss_source)
+
+        searchBar.setOnClickListener {
+            searchView.show()
+            if (searchView.text.isEmpty()) {
+                searchView.hint = getString(R.string.search_rss_source)
             }
             }
+        }
 
 
-            override fun onQueryTextChange(newText: String?): Boolean {
-                upRssFlowJob(newText)
-                return false
+        searchView.editText.setOnEditorActionListener { _, actionId, _ ->
+            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
+                val query = searchView.text.toString()
+                upRssFlowJob(query)
+                searchBar.hint = if (query.isEmpty()) {
+                    getString(R.string.search_rss_source)
+                } else {
+                    query
+                }
+                searchView.hide()
+                return@setOnEditorActionListener true
             }
             }
-        })
+            false
+        }
+
+        searchView.editText.doAfterTextChanged { editable ->
+            editable?.let {
+                upRssFlowJob(it.toString())
+
+                if (it.isEmpty()) {
+                    searchBar.hint = getString(R.string.search_rss_source)
+                }
+            }
+        }
+
+        searchView.setupWithSearchBar(searchBar)
     }
     }
 
 
     private fun initRecyclerView() {
     private fun initRecyclerView() {

+ 12 - 8
app/src/main/java/io/legado/app/ui/widget/LabelsBar.kt

@@ -1,6 +1,8 @@
 package io.legado.app.ui.widget
 package io.legado.app.ui.widget
 
 
 import android.content.Context
 import android.content.Context
+import android.content.res.ColorStateList
+import android.graphics.Color
 import android.os.Build
 import android.os.Build
 import android.util.AttributeSet
 import android.util.AttributeSet
 import android.widget.LinearLayout
 import android.widget.LinearLayout
@@ -8,6 +10,7 @@ import android.widget.TextView
 import androidx.annotation.RequiresApi
 import androidx.annotation.RequiresApi
 import com.google.android.material.chip.Chip
 import com.google.android.material.chip.Chip
 import com.google.android.material.chip.ChipGroup
 import com.google.android.material.chip.ChipGroup
+import com.google.android.material.color.MaterialColors
 import io.legado.app.ui.widget.text.AccentBgTextView
 import io.legado.app.ui.widget.text.AccentBgTextView
 import io.legado.app.utils.dpToPx
 import io.legado.app.utils.dpToPx
 
 
@@ -19,13 +22,7 @@ class LabelsBar @JvmOverloads constructor(
 
 
     private val unUsedChips = arrayListOf<Chip>()
     private val unUsedChips = arrayListOf<Chip>()
     private val usedChips = arrayListOf<Chip>()
     private val usedChips = arrayListOf<Chip>()
-    //var textSizeSp = 12f
 
 
-    init {
-//        isSingleLine = false
-//        chipSpacingHorizontal = 8.dpToPx()
-//        chipSpacingVertical = 4.dpToPx()
-    }
 
 
     @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun setLabels(labels: List<String>) {
     fun setLabels(labels: List<String>) {
@@ -46,7 +43,6 @@ class LabelsBar @JvmOverloads constructor(
         removeAllViews()
         removeAllViews()
     }
     }
 
 
-    @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun addLabel(label: String) {
     fun addLabel(label: String) {
         val chip = if (unUsedChips.isEmpty()) {
         val chip = if (unUsedChips.isEmpty()) {
             Chip(context).apply {
             Chip(context).apply {
@@ -55,10 +51,18 @@ class LabelsBar @JvmOverloads constructor(
                 chipStartPadding = 8f
                 chipStartPadding = 8f
                 chipEndPadding = 8f
                 chipEndPadding = 8f
                 chipStrokeWidth = 0f
                 chipStrokeWidth = 0f
+
+                chipBackgroundColor = ColorStateList.valueOf(
+                    MaterialColors.getColor(this, com.google.android.material.R.attr.colorPrimaryContainer, Color.LTGRAY)
+                )
+
+
                 usedChips.add(this)
                 usedChips.add(this)
             }
             }
         } else {
         } else {
-            unUsedChips.removeLast().also { usedChips.add(it) }
+            unUsedChips.removeAt(unUsedChips.lastIndex).also {
+                usedChips.add(it)
+            }
         }
         }
         chip.text = label
         chip.text = label
         addView(chip)
         addView(chip)

+ 4 - 4
app/src/main/java/io/legado/app/ui/widget/SearchView.kt

@@ -17,6 +17,7 @@ import android.widget.TextView
 import androidx.appcompat.widget.SearchView
 import androidx.appcompat.widget.SearchView
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.utils.printOnDebug
 import io.legado.app.utils.printOnDebug
+import androidx.core.graphics.withTranslation
 
 
 
 
 class SearchView @JvmOverloads constructor(
 class SearchView @JvmOverloads constructor(
@@ -101,10 +102,9 @@ class SearchView @JvmOverloads constructor(
             val fm = paint.fontMetricsInt
             val fm = paint.fontMetricsInt
             val transY = ((y + fm.descent + y + fm.ascent) / 2
             val transY = ((y + fm.descent + y + fm.ascent) / 2
                     - b.bounds.bottom / 2)
                     - b.bounds.bottom / 2)
-            canvas.save()
-            canvas.translate(x, transY.toFloat())
-            b.draw(canvas)
-            canvas.restore()
+            canvas.withTranslation(x, transY.toFloat()) {
+                b.draw(this)
+            }
         }
         }
     }
     }
 }
 }

+ 41 - 35
app/src/main/java/io/legado/app/ui/widget/text/AccentBgTextView.kt

@@ -4,49 +4,55 @@ import android.content.Context
 import android.graphics.Color
 import android.graphics.Color
 import android.util.AttributeSet
 import android.util.AttributeSet
 import androidx.appcompat.widget.AppCompatTextView
 import androidx.appcompat.widget.AppCompatTextView
+import com.google.android.material.color.MaterialColors
+import com.google.android.material.textview.MaterialTextView
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.lib.theme.Selector
 import io.legado.app.lib.theme.Selector
 import io.legado.app.lib.theme.ThemeStore
 import io.legado.app.lib.theme.ThemeStore
 import io.legado.app.utils.ColorUtils
 import io.legado.app.utils.ColorUtils
 import io.legado.app.utils.dpToPx
 import io.legado.app.utils.dpToPx
 import io.legado.app.utils.getCompatColor
 import io.legado.app.utils.getCompatColor
+import androidx.core.content.withStyledAttributes
 
 
 class AccentBgTextView @JvmOverloads constructor(
 class AccentBgTextView @JvmOverloads constructor(
     context: Context,
     context: Context,
     attrs: AttributeSet? = null
     attrs: AttributeSet? = null
-) : AppCompatTextView(context, attrs) {
-
-//    private var radius = 0
-//
-//    init {
-//        val typedArray = context.obtainStyledAttributes(attrs, R.styleable.AccentBgTextView)
-//        radius = typedArray.getDimensionPixelOffset(R.styleable.AccentBgTextView_radius, radius)
-//        typedArray.recycle()
-//        upBackground()
-//    }
-//
-//    fun setRadius(radius: Int) {
-//        this.radius = radius.dpToPx()
-//        upBackground()
-//    }
-//
-//    private fun upBackground() {
-//        val accentColor = if (isInEditMode) {
-//            context.getCompatColor(R.color.accent)
-//        } else {
-//            ThemeStore.accentColor(context)
-//        }
-//        background = Selector.shapeBuild()
-//            .setCornerRadius(radius)
-//            .setDefaultBgColor(accentColor)
-//            .setPressedBgColor(ColorUtils.darkenColor(accentColor))
-//            .create()
-//        setTextColor(
-//            if (ColorUtils.isColorLight(accentColor)) {
-//                Color.BLACK
-//            } else {
-//                Color.WHITE
-//            }
-//        )
-//    }
+) : MaterialTextView(context, attrs) {
+
+    private var radiusPx = 0
+
+    init {
+        context.withStyledAttributes(attrs, R.styleable.AccentBgTextView) {
+            val radiusDp = getDimensionPixelOffset(R.styleable.AccentBgTextView_radius, 0)
+            radiusPx = radiusDp
+        }
+        updateBackground()
+    }
+
+    fun setRadius(dp: Int) {
+        radiusPx = dp.dpToPx()
+        updateBackground()
+    }
+
+    private fun updateBackground() {
+        val backgroundColor = MaterialColors.getColor(
+            this,
+            com.google.android.material.R.attr.colorPrimaryContainer,
+            //context.getColorCompat(R.color.fallback_bg)
+        )
+        val textColor = MaterialColors.getColor(
+            this,
+            com.google.android.material.R.attr.colorOnPrimaryContainer,
+            //context.getColorCompat(R.color.fallback_text)
+        )
+
+        background = Selector.shapeBuild()
+            .setCornerRadius(radiusPx)
+            .setDefaultBgColor(backgroundColor)
+            .setPressedBgColor(ColorUtils.darkenColor(backgroundColor))
+            .create()
+
+        setTextColor(textColor)
+    }
 }
 }
+

+ 2 - 17
app/src/main/java/io/legado/app/utils/ToastUtils.kt

@@ -2,40 +2,24 @@
 
 
 package io.legado.app.utils
 package io.legado.app.utils
 
 
-import android.annotation.SuppressLint
 import android.content.Context
 import android.content.Context
 import android.widget.Toast
 import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.Fragment
 import io.legado.app.BuildConfig
 import io.legado.app.BuildConfig
-import io.legado.app.databinding.ViewToastBinding
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.AppConfig
-//import io.legado.app.lib.theme.bottomBackground
-//import io.legado.app.lib.theme.getPrimaryTextColor
-import splitties.systemservices.layoutInflater
 
 
 private var toast: Toast? = null
 private var toast: Toast? = null
-
 private var toastLegacy: Toast? = null
 private var toastLegacy: Toast? = null
 
 
 fun Context.toastOnUi(message: Int, duration: Int = Toast.LENGTH_SHORT) {
 fun Context.toastOnUi(message: Int, duration: Int = Toast.LENGTH_SHORT) {
     toastOnUi(getString(message), duration)
     toastOnUi(getString(message), duration)
 }
 }
 
 
-@SuppressLint("InflateParams")
-@Suppress("DEPRECATION")
 fun Context.toastOnUi(message: CharSequence?, duration: Int = Toast.LENGTH_SHORT) {
 fun Context.toastOnUi(message: CharSequence?, duration: Int = Toast.LENGTH_SHORT) {
     runOnUI {
     runOnUI {
         kotlin.runCatching {
         kotlin.runCatching {
             toast?.cancel()
             toast?.cancel()
-            toast = Toast(this)
-            //val isLight = ColorUtils.isColorLight(bottomBackground)
-            ViewToastBinding.inflate(layoutInflater).run {
-                toast?.view = root
-//                cvToast.setCardBackgroundColor(bottomBackground)
-//                tvText.setTextColor(getPrimaryTextColor(isLight))
-                tvText.text = message
-            }
-            toast?.duration = duration
+            toast = Toast.makeText(this, message, duration)
             toast?.show()
             toast?.show()
         }
         }
     }
     }
@@ -84,3 +68,4 @@ fun Fragment.toastOnUi(message: CharSequence) = requireActivity().toastOnUi(mess
 fun Fragment.longToast(message: Int) = requireContext().longToastOnUi(message)
 fun Fragment.longToast(message: Int) = requireContext().longToastOnUi(message)
 
 
 fun Fragment.longToast(message: CharSequence) = requireContext().longToastOnUi(message)
 fun Fragment.longToast(message: CharSequence) = requireContext().longToastOnUi(message)
+

+ 3 - 0
app/src/main/res/drawable/ic_arrow_up.xml

@@ -0,0 +1,3 @@
+<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,432L296,616L240,560L480,320L720,560L664,616L480,432Z"/>
+</vector>

+ 2 - 8
app/src/main/res/drawable/ic_backup.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM14,13v4h-4v-4H7l5,-5 5,5h-3z" />
+<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="M260,800Q169,800 104.5,737Q40,674 40,583Q40,505 87,444Q134,383 210,366Q235,274 310,217Q385,160 480,160Q597,160 678.5,241.5Q760,323 760,440L760,440L760,440Q829,448 874.5,499.5Q920,551 920,620Q920,695 867.5,747.5Q815,800 740,800L520,800Q487,800 463.5,776.5Q440,753 440,720L440,514L376,576L320,520L480,360L640,520L584,576L520,514L520,720Q520,720 520,720Q520,720 520,720L740,720Q782,720 811,691Q840,662 840,620Q840,578 811,549Q782,520 740,520L680,520L680,440Q680,357 621.5,298.5Q563,240 480,240Q397,240 338.5,298.5Q280,357 280,440L260,440Q202,440 161,481Q120,522 120,580Q120,638 161,679Q202,720 260,720L360,720L360,800L260,800ZM480,520L480,520L480,520Q480,520 480,520Q480,520 480,520L480,520L480,520Q480,520 480,520Q480,520 480,520L480,520Q480,520 480,520Q480,520 480,520L480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520L480,520L480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520L480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520L480,520Z"/>
 </vector>
 </vector>

+ 2 - 4
app/src/main/res/drawable/ic_baseline_sort_24.xml

@@ -1,5 +1,3 @@
-<vector android:height="24dp" android:tint="#000000"
-    android:viewportHeight="24" android:viewportWidth="24"
-    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/white" android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z"/>
+<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" android:autoMirrored="true">
+    <path android:fillColor="@android:color/white" android:pathData="M120,720L120,640L360,640L360,720L120,720ZM120,520L120,440L600,440L600,520L120,520ZM120,320L120,240L840,240L840,320L120,320Z"/>
 </vector>
 </vector>

+ 2 - 12
app/src/main/res/drawable/ic_book_has.xml

@@ -1,14 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportHeight="680.31"
-    android:viewportWidth="680.31">
-
-    <path
-        android:fillColor="#2C2C2C"
-        android:pathData="M339.865,79.038c-147.014,0-266.518,119.198-266.518,266.519 c0,147.011,119.198,266.519,266.518,266.519c147.013,0,266.52-119.201,266.52-266.519 C606.078,198.542,486.878,79.038,339.865,79.038L339.865,79.038z M339.865,587.929c-133.871,0-242.373-108.505-242.373-242.373 c0-133.872,108.502-242.066,242.373-242.066c133.868,0,242.372,108.5,242.372,242.373 C582.237,479.731,473.432,587.929,339.865,587.929L339.865,587.929z M339.865,587.929" />
-    <path
-        android:fillColor="#2C2C2C"
-        android:pathData="M305.329,491.346c20.782,0,28.118,33.619,28.118,33.619h12.836c0,0,7.337-33.619,28.12-33.619h133.869 c7.95,0,14.673-6.725,14.673-14.671V242.25c0-33.316-33.316-33.316-33.316-33.316H361.261c-10.697,0-21.396,13.449-21.396,20.479 c0-7.03-10.391-20.479-21.088-20.479H190.103c0,0-33.317,0-33.317,33.316v234.426c0,8.253,6.418,14.671,14.67,14.671H305.329z M348.117,236.75c0-6.115,4.89-11.31,11.005-11.31h139.065c3.973,0,7.336,3.361,7.336,7.64l0.607,235.647 c0,4.279-3.36,7.644-7.333,7.644H372.873c-14.06,0-24.756,15.589-24.756,15.589V236.75z M173.902,233.08 c0-4.279,3.364-7.64,7.336-7.64h139.066c6.112,0,11.003,4.891,11.003,11.31v254.903c0,0-11.003-15.589-24.759-15.589H180.627 c-3.974,0-7.337-3.36-7.337-7.639L173.902,233.08z M173.902,233.08" />
+<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="M240,880Q207,880 183.5,856.5Q160,833 160,800L160,160Q160,127 183.5,103.5Q207,80 240,80L720,80Q753,80 776.5,103.5Q800,127 800,160L800,800Q800,833 776.5,856.5Q753,880 720,880L240,880ZM240,800L720,800Q720,800 720,800Q720,800 720,800L720,160Q720,160 720,160Q720,160 720,160L640,160L640,440L540,380L440,440L440,160L240,160Q240,160 240,160Q240,160 240,160L240,800Q240,800 240,800Q240,800 240,800ZM240,800Q240,800 240,800Q240,800 240,800L240,160Q240,160 240,160Q240,160 240,160L240,160Q240,160 240,160Q240,160 240,160L240,800Q240,800 240,800Q240,800 240,800ZM440,440L540,380L640,440L640,440L540,380L440,440Z"/>
 </vector>
 </vector>

+ 2 - 9
app/src/main/res/drawable/ic_brightness_auto.xml

@@ -1,11 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="1024"
-    android:viewportHeight="1024">
-
-    <path
-        android:fillColor="#FFFFFF"
-        android:pathData="M462.933333 539.733333h98.133334L512 384l-49.066667 155.733333z m390.4-170.666666V170.666667h-200.106666L512 29.44 370.773333 170.666667H170.666667v200.106666L29.44 512 170.666667 653.226667V853.333333h200.106666L512 994.56 653.226667 853.333333H853.333333v-200.106666L994.56 512 853.333333 370.773333zM610.133333 682.666667l-29.866666-85.333334h-136.533334l-29.866666 85.333334H332.8L469.333333 298.666667h85.333334l136.533333 384z" />
+<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,932L346,800L160,800L160,614L28,480L160,346L160,160L346,160L480,28L614,160L800,160L800,346L932,480L800,614L800,800L614,800L480,932ZM480,680Q563,680 621.5,621.5Q680,563 680,480Q680,397 621.5,338.5Q563,280 480,280L480,680ZM480,820L580,720L720,720L720,580L820,480L720,380L720,240L580,240L480,140L380,240L240,240L240,380L140,480L240,580L240,720L380,720L480,820ZM480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480Z"/>
 </vector>
 </vector>

+ 2 - 8
app/src/main/res/drawable/ic_bug_report.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#000000"
-        android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
+<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,760Q546,760 593,713Q640,666 640,600L640,440Q640,374 593,327Q546,280 480,280Q414,280 367,327Q320,374 320,440L320,600Q320,666 367,713Q414,760 480,760ZM400,640L560,640L560,560L400,560L400,640ZM400,480L560,480L560,400L400,400L400,480ZM480,520Q480,520 480,520Q480,520 480,520L480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520L480,520Q480,520 480,520Q480,520 480,520ZM480,840Q415,840 359.5,808Q304,776 272,720L160,720L160,640L244,640Q241,620 240.5,600Q240,580 240,560L160,560L160,480L240,480Q240,460 240.5,440Q241,420 244,400L160,400L160,320L272,320Q286,297 303.5,277Q321,257 344,242L280,176L336,120L422,206Q450,197 479,197Q508,197 536,206L624,120L680,176L614,242Q637,257 655.5,276.5Q674,296 688,320L800,320L800,400L716,400Q719,420 719.5,440Q720,460 720,480L800,480L800,560L720,560Q720,580 719.5,600Q719,620 716,640L800,640L800,720L688,720Q656,776 600.5,808Q545,840 480,840Z"/>
 </vector>
 </vector>

+ 2 - 18
app/src/main/res/drawable/ic_chapter_list.xml

@@ -1,20 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M20,7.046H4V5.522h16V7.046z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M20,10.855H4V9.334h16V10.855z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M20,14.666H4v-1.521h16V14.666z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M20,18.477H4v-1.523h16V18.477z" />
+<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" android:autoMirrored="true">
+    <path android:fillColor="@android:color/white" android:pathData="M320,680Q337,680 348.5,668.5Q360,657 360,640Q360,623 348.5,611.5Q337,600 320,600Q303,600 291.5,611.5Q280,623 280,640Q280,657 291.5,668.5Q303,680 320,680ZM320,520Q337,520 348.5,508.5Q360,497 360,480Q360,463 348.5,451.5Q337,440 320,440Q303,440 291.5,451.5Q280,463 280,480Q280,497 291.5,508.5Q303,520 320,520ZM320,360Q337,360 348.5,348.5Q360,337 360,320Q360,303 348.5,291.5Q337,280 320,280Q303,280 291.5,291.5Q280,303 280,320Q280,337 291.5,348.5Q303,360 320,360ZM440,680L680,680L680,600L440,600L440,680ZM440,520L680,520L680,440L440,440L440,520ZM440,360L680,360L680,280L440,280L440,360ZM200,840Q167,840 143.5,816.5Q120,793 120,760L120,200Q120,167 143.5,143.5Q167,120 200,120L760,120Q793,120 816.5,143.5Q840,167 840,200L840,760Q840,793 816.5,816.5Q793,840 760,840L200,840ZM200,760L760,760Q760,760 760,760Q760,760 760,760L760,200Q760,200 760,200Q760,200 760,200L200,200Q200,200 200,200Q200,200 200,200L200,760Q200,760 200,760Q200,760 200,760ZM200,200L200,200Q200,200 200,200Q200,200 200,200L200,760Q200,760 200,760Q200,760 200,760L200,760Q200,760 200,760Q200,760 200,760L200,200Q200,200 200,200Q200,200 200,200Z"/>
 </vector>
 </vector>

+ 2 - 12
app/src/main/res/drawable/ic_check_source.xml

@@ -1,14 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M20,6.182h-1.454v1.249C17.067,5.315,14.646,4,12,4c-4.412,0-8,3.589-8,8s3.588,8,8,8 c3.789,0,7.086-2.691,7.84-6.401l-1.426-0.289C17.798,16.344,15.1,18.546,12,18.546c-3.608,0-6.546-2.937-6.546-6.546 S8.392,5.454,12,5.454c2.399,0,4.576,1.32,5.721,3.395h-1.842v1.454H20V6.182z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M11.273,8.363c-1.604,0-2.909,1.305-2.909,2.91c0,1.604,1.305,2.909,2.909,2.909 c0.537,0,1.035-0.157,1.468-0.412l2.14,2.139l1.027-1.029l-2.139-2.139c0.256-0.432,0.412-0.93,0.412-1.468 C14.182,9.668,12.877,8.363,11.273,8.363z M9.818,11.273c0-0.802,0.652-1.455,1.455-1.455c0.801,0,1.453,0.653,1.453,1.455 c0,0.801-0.652,1.454-1.453,1.454C10.471,12.727,9.818,12.074,9.818,11.273z" />
+<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,800Q346,800 253,707Q160,614 160,480Q160,346 253,253Q346,160 480,160Q549,160 612,188.5Q675,217 720,270L720,160L800,160L800,440L520,440L520,360L688,360Q656,304 600.5,272Q545,240 480,240Q380,240 310,310Q240,380 240,480Q240,580 310,650Q380,720 480,720Q557,720 619,676Q681,632 706,560L790,560Q762,666 676,733Q590,800 480,800Z"/>
 </vector>
 </vector>

+ 2 - 15
app/src/main/res/drawable/ic_copy.xml

@@ -1,17 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 18.303 8.091 L 14.939 8.091 L 14.939 4.727 L 15.848 4.727 L 15.848 7.182 L 18.303 7.182 Z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M19.03,18.061H6.91V4h8.785l3.335,3.335V18.061z M8.363,16.606h9.213V7.938l-2.483-2.484H8.363 V16.606z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 17.09 20 L 4.969 20 L 4.969 5.939 L 7.636 5.939 L 7.636 7.394 L 6.424 7.394 L 6.424 18.546 L 15.636 18.546 L 15.636 17.333 L 17.09 17.333 Z" />
+<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="M760,760L320,760Q287,760 263.5,736.5Q240,713 240,680L240,120Q240,87 263.5,63.5Q287,40 320,40L600,40L840,280L840,680Q840,713 816.5,736.5Q793,760 760,760ZM560,320L560,120L320,120Q320,120 320,120Q320,120 320,120L320,680Q320,680 320,680Q320,680 320,680L760,680Q760,680 760,680Q760,680 760,680L760,320L560,320ZM160,920Q127,920 103.5,896.5Q80,873 80,840L80,280L160,280L160,840Q160,840 160,840Q160,840 160,840L600,840L600,920L160,920ZM320,120L320,120L320,320L320,320L320,120L320,320L320,320L320,680Q320,680 320,680Q320,680 320,680L320,680Q320,680 320,680Q320,680 320,680L320,120Q320,120 320,120Q320,120 320,120Z"/>
 </vector>
 </vector>

+ 2 - 33
app/src/main/res/drawable/ic_daytime.xml

@@ -1,35 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M16.638,8.494l1.585-1.586l-1.132-1.131l-1.585,1.586C15.933,7.687,16.313,8.066,16.638,8.494z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M8.495,7.363L6.909,5.777L5.778,6.909l1.584,1.585C7.687,8.067,8.067,7.687,8.495,7.363z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M12.001,6.181c0.271,0,0.537,0.025,0.799,0.062V4h-1.6v2.242 C11.462,6.206,11.728,6.181,12.001,6.181z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M6.181,12c0-0.271,0.025-0.537,0.062-0.8H4v1.6h2.242C6.206,12.538,6.181,12.272,6.181,12z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M15.506,16.638l1.585,1.585l1.131-1.131l-1.584-1.586C16.313,15.934,15.933,16.313,15.506,16.638z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M17.759,11.2c0.035,0.263,0.061,0.528,0.061,0.8c0,0.272-0.025,0.538-0.061,0.8H20v-1.6H17.759z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M7.363,15.506l-1.585,1.586l1.131,1.131l1.585-1.586C8.067,16.313,7.687,15.934,7.363,15.506z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M12.001,17.819c-0.273,0-0.539-0.024-0.801-0.062V20h1.6v-2.242 C12.538,17.795,12.272,17.819,12.001,17.819z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M12,16.6c-2.536,0-4.6-2.063-4.6-4.6S9.464,7.4,12,7.4s4.6,2.063,4.6,4.6S14.536,16.6,12,16.6z M12,9 c-1.654,0-3,1.346-3,3s1.346,3,3,3s3-1.346,3-3S13.654,9,12,9z" />
+<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="M440,200L440,40L520,40L520,200L440,200ZM706,310L651,255L763,140L819,197L706,310ZM760,520L760,440L920,440L920,520L760,520ZM440,920L440,760L520,760L520,920L440,920ZM254,308L140,197L197,141L310,254L254,308ZM762,820L651,705L705,651L819,761L762,820ZM40,520L40,440L200,440L200,520L40,520ZM197,820L141,763L253,651L282,678L311,706L197,820ZM480,720Q380,720 310,650Q240,580 240,480Q240,380 310,310Q380,240 480,240Q580,240 650,310Q720,380 720,480Q720,580 650,650Q580,720 480,720ZM480,640Q546,640 593,593Q640,546 640,480Q640,414 593,367Q546,320 480,320Q414,320 367,367Q320,414 320,480Q320,546 367,593Q414,640 480,640ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
 </vector>
 </vector>

+ 2 - 8
app/src/main/res/drawable/ic_download.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
+<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,640L280,440L336,382L440,486L440,160L520,160L520,486L624,382L680,440L480,640ZM240,800Q207,800 183.5,776.5Q160,753 160,720L160,600L240,600L240,720Q240,720 240,720Q240,720 240,720L720,720Q720,720 720,720Q720,720 720,720L720,600L800,600L800,720Q800,753 776.5,776.5Q753,800 720,800L240,800Z"/>
 </vector>
 </vector>

+ 2 - 15
app/src/main/res/drawable/ic_exchange.xml

@@ -1,17 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M17.139,8.073l-1.06,1.059l1.058,1.058L20,7.326l-2.863-2.863L16.079,5.52l1.06,1.06h-3.801 c-1.465,0-2.613,1.423-2.613,3.24v1.869v0.624v0.626v1.243c0,0.946-0.514,1.746-1.121,1.746H4v1.494h5.604 c1.467,0,2.614-1.423,2.614-3.24v-1.869v-0.624V9.819c0-0.946,0.515-1.746,1.12-1.746H17.139z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 16.079 14.867 L 17.139 15.926 L 13.338 15.926 L 13.338 17.42 L 17.139 17.42 L 16.079 18.48 L 17.137 19.537 L 20 16.673 L 17.137 13.81 Z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 4 6.586 H 9.604 V 8.08 H 4 V 6.586 Z" />
+<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="M560,800L560,720L664,720L537,593L594,536L720,662L720,560L800,560L800,800L560,800ZM216,800L160,744L664,240L560,240L560,160L800,160L800,400L720,400L720,296L216,800ZM367,423L160,216L216,160L423,367L367,423Z"/>
 </vector>
 </vector>

+ 2 - 10
app/src/main/res/drawable/ic_exchange_order.xml

@@ -1,12 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="1112"
-    android:viewportHeight="1024">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M385.722775 1023.999431a42.664285 42.664285 0 0 1-42.664285-42.664284V138.573312L72.851354 381.190877a42.664285 42.664285 0 1 1-56.885712-63.42757L357.279918 10.864887A42.664285 42.664285 0 0 1 428.387059 42.720886v938.614261a42.664285 42.664285 0 0 1-42.664284 42.664284zM727.037051 1023.999431a41.52657 41.52657 0 0 1-17.350142-3.697571A42.664285 42.664285 0 0 1 684.372767 981.335147v-938.614261a42.664285 42.664285 0 0 1 85.328569 0v842.761835l270.207135-242.617565a42.664285 42.664285 0 1 1 56.885713 63.427569l-341.314276 306.898421a42.664285 42.664285 0 0 1-28.442857 10.808285z" />
-
+<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="M320,520L320,233L217,336L160,280L360,80L560,280L503,336L400,233L400,520L320,520ZM600,880L400,680L457,624L560,727L560,440L640,440L640,727L743,624L800,680L600,880Z"/>
 </vector>
 </vector>

+ 0 - 9
app/src/main/res/drawable/ic_expand_less.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M12,8l-6,6 1.41,1.41L12,10.83l4.59,4.58L18,14l-6,-6z" />
-</vector>

+ 0 - 9
app/src/main/res/drawable/ic_expand_more.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6 -1.41,-1.41z" />
-</vector>

+ 2 - 8
app/src/main/res/drawable/ic_fast_forward.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M4,18l8.5,-6L4,6v12zM13,6v12l8.5,-6L13,6z" />
+<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="M100,720L100,240L460,480L100,720ZM500,720L500,240L860,480L500,720ZM180,480L180,480L180,480ZM580,480L580,480L580,480ZM180,570L316,480L180,390L180,570ZM580,570L716,480L580,390L580,570Z"/>
 </vector>
 </vector>

+ 3 - 9
app/src/main/res/drawable/ic_fast_rewind.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M11,18L11,6l-8.5,6 8.5,6zM11.5,12l8.5,6L20,6l-8.5,6z" />
-</vector>
+<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="M860,720L500,480L860,240L860,720ZM460,720L100,480L460,240L460,720ZM380,480L380,480L380,480ZM780,480L780,480L780,480ZM380,570L380,390L244,480L380,570ZM780,570L780,390L644,480L780,570Z"/>
+</vector>

+ 2 - 12
app/src/main/res/drawable/ic_image.xml

@@ -1,14 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="1024"
-    android:viewportHeight="1024">
-
-    <path
-        android:fillColor="#000000"
-        android:pathData="M938.667 0H85.333A85.333 85.333 0 0 0 0 85.333v853.334A85.333 85.333 0 0 0 85.333 1024h853.334A85.333 85.333 0 0 0 1024 938.667V85.333A85.333 85.333 0 0 0 938.667 0zM85.333 42.667h853.334a42.667 42.667 0 0 1 42.666 42.666V640L746.667 405.333a21.333 21.333 0 0 0-30.08 0L480 641.92 321.707 483.627a21.333 21.333 0 0 0-30.08 0l-248.96 248.96V85.333a42.667 42.667 0 0 1 42.666-42.666z m-42.666 896v-145.92l264.106-263.894 452.48 452.48H85.333a42.667 42.667 0 0 1-42.666-42.666z m896 42.666H819.413L510.08 672l221.867-221.867L981.333 699.52v239.147a42.667 42.667 0 0 1-42.666 42.666z" />
-    <path
-        android:fillColor="#000000"
-        android:pathData="M298.667 405.333A106.667 106.667 0 1 0 192 298.667a106.667 106.667 0 0 0 106.667 106.666z m0-170.666a64 64 0 1 1-64 64 64 64 0 0 1 64-64z" />
+<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="M200,840Q167,840 143.5,816.5Q120,793 120,760L120,200Q120,167 143.5,143.5Q167,120 200,120L760,120Q793,120 816.5,143.5Q840,167 840,200L840,760Q840,793 816.5,816.5Q793,840 760,840L200,840ZM200,760L760,760Q760,760 760,760Q760,760 760,760L760,200Q760,200 760,200Q760,200 760,200L200,200Q200,200 200,200Q200,200 200,200L200,760Q200,760 200,760Q200,760 200,760ZM240,680L720,680L570,480L450,640L360,520L240,680ZM200,760Q200,760 200,760Q200,760 200,760L200,200Q200,200 200,200Q200,200 200,200L200,200Q200,200 200,200Q200,200 200,200L200,760Q200,760 200,760Q200,760 200,760Z"/>
 </vector>
 </vector>

+ 3 - 1
app/src/main/res/drawable/ic_lock_outline.xml

@@ -1 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"><path android:fillColor="#000000" android:pathData="M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z" /></vector>
+<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="M240,880Q207,880 183.5,856.5Q160,833 160,800L160,400Q160,367 183.5,343.5Q207,320 240,320L280,320L280,240Q280,157 338.5,98.5Q397,40 480,40Q563,40 621.5,98.5Q680,157 680,240L680,320L720,320Q753,320 776.5,343.5Q800,367 800,400L800,800Q800,833 776.5,856.5Q753,880 720,880L240,880ZM240,800L720,800Q720,800 720,800Q720,800 720,800L720,400Q720,400 720,400Q720,400 720,400L240,400Q240,400 240,400Q240,400 240,400L240,800Q240,800 240,800Q240,800 240,800ZM480,680Q513,680 536.5,656.5Q560,633 560,600Q560,567 536.5,543.5Q513,520 480,520Q447,520 423.5,543.5Q400,567 400,600Q400,633 423.5,656.5Q447,680 480,680ZM360,320L600,320L600,240Q600,190 565,155Q530,120 480,120Q430,120 395,155Q360,190 360,240L360,320ZM240,800Q240,800 240,800Q240,800 240,800L240,400Q240,400 240,400Q240,400 240,400L240,400Q240,400 240,400Q240,400 240,400L240,800Q240,800 240,800Q240,800 240,800Z"/>
+</vector>

+ 2 - 14
app/src/main/res/drawable/ic_more.xml

@@ -1,15 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-  <path
-      android:pathData="M12,5.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"
-      android:fillColor="#202020"/>
-  <path
-      android:pathData="M12,12m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"
-      android:fillColor="#202020"/>
-  <path
-      android:pathData="M12,18.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"
-      android:fillColor="#202020"/>
+<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,800Q447,800 423.5,776.5Q400,753 400,720Q400,687 423.5,663.5Q447,640 480,640Q513,640 536.5,663.5Q560,687 560,720Q560,753 536.5,776.5Q513,800 480,800ZM480,560Q447,560 423.5,536.5Q400,513 400,480Q400,447 423.5,423.5Q447,400 480,400Q513,400 536.5,423.5Q560,447 560,480Q560,513 536.5,536.5Q513,560 480,560ZM480,320Q447,320 423.5,296.5Q400,273 400,240Q400,207 423.5,183.5Q447,160 480,160Q513,160 536.5,183.5Q560,207 560,240Q560,273 536.5,296.5Q513,320 480,320Z"/>
 </vector>
 </vector>

+ 3 - 9
app/src/main/res/drawable/ic_network_check.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M15.9,5c-0.17,0 -0.32,0.09 -0.41,0.23l-0.07,0.15 -5.18,11.65c-0.16,0.29 -0.26,0.61 -0.26,0.96 0,1.11 0.9,2.01 2.01,2.01 0.96,0 1.77,-0.68 1.96,-1.59l0.01,-0.03L16.4,5.5c0,-0.28 -0.22,-0.5 -0.5,-0.5zM1,9l2,2c2.88,-2.88 6.79,-4.08 10.53,-3.62l1.19,-2.68C9.89,3.84 4.74,5.27 1,9zM21,11l2,-2c-1.64,-1.64 -3.55,-2.82 -5.59,-3.57l-0.53,2.82c1.5,0.62 2.9,1.53 4.12,2.75zM17,15l2,-2c-0.8,-0.8 -1.7,-1.42 -2.66,-1.89l-0.55,2.92c0.42,0.27 0.83,0.59 1.21,0.97zM5,13l2,2c1.13,-1.13 2.56,-1.79 4.03,-2l1.28,-2.88c-2.63,-0.08 -5.3,0.87 -7.31,2.88z" />
-</vector>
+<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="M84,444L0,360Q95,263 219.5,211.5Q344,160 480,160Q504,160 528,161.5Q552,163 576,166L516,282Q507,281 498,280.5Q489,280 480,280Q368,280 265.5,322.5Q163,365 84,444ZM254,614L170,528Q227,471 301,439Q375,407 456,402L392,533Q353,544 318,564.5Q283,585 254,614ZM452,794Q419,783 404,752.5Q389,722 404,692L644,204Q648,196 656,193.5Q664,191 672,194Q680,197 684,204.5Q688,212 686,220L556,746Q548,779 516.5,793Q485,807 452,794ZM706,614Q699,607 692.5,601.5Q686,596 678,590L710,465Q731,479 751.5,494.5Q772,510 790,528L706,614ZM875,445Q843,416 809.5,390Q776,364 738,344L766,224Q820,250 869,284Q918,318 960,360L875,445Z"/>
+</vector>

+ 2 - 9
app/src/main/res/drawable/ic_outline_cloud_24.xml

@@ -1,10 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24"
-    android:tint="?attr/colorControlNormal">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M12,6c2.62,0 4.88,1.86 5.39,4.43l0.3,1.5 1.53,0.11c1.56,0.1 2.78,1.41 2.78,2.96 0,1.65 -1.35,3 -3,3H6c-2.21,0 -4,-1.79 -4,-4 0,-2.05 1.53,-3.76 3.56,-3.97l1.07,-0.11 0.5,-0.95C8.08,7.14 9.94,6 12,6m0,-2C9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96C18.67,6.59 15.64,4 12,4z" />
+<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="M260,800Q169,800 104.5,737Q40,674 40,583Q40,505 87,444Q134,383 210,366Q235,274 310,217Q385,160 480,160Q597,160 678.5,241.5Q760,323 760,440L760,440L760,440Q829,448 874.5,499.5Q920,551 920,620Q920,695 867.5,747.5Q815,800 740,800L260,800ZM260,720L740,720Q782,720 811,691Q840,662 840,620Q840,578 811,549Q782,520 740,520L680,520L680,440Q680,357 621.5,298.5Q563,240 480,240Q397,240 338.5,298.5Q280,357 280,440L280,440L260,440Q202,440 161,481Q120,522 120,580Q120,638 161,679Q202,720 260,720ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
 </vector>
 </vector>

+ 0 - 10
app/src/main/res/drawable/ic_outline_delete.xml

@@ -1,10 +0,0 @@
-<vector android:height="24dp"
-    android:tint="#000000"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:width="24dp"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M14.12,10.47L12,12.59l-2.13,-2.12 -1.41,1.41L10.59,14l-2.12,2.12 1.41,1.41L12,15.41l2.12,2.12 1.41,-1.41L13.41,14l2.12,-2.12zM15.5,4l-1,-1h-5l-1,1H5v2h14V4zM6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM8,9h8v10H8V9z" />
-</vector>

+ 0 - 14
app/src/main/res/drawable/ic_pause_outline_24dp.xml

@@ -1,14 +0,0 @@
-<?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 8 6 H 9.6 V 18 H 8 V 6 Z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 14.4 6 H 16 V 18 H 14.4 V 6 Z" />
-</vector>

+ 0 - 11
app/src/main/res/drawable/ic_play_outline_24dp.xml

@@ -1,11 +0,0 @@
-<?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M6.262,20C6.131,20,6,19.966,5.882,19.897c-0.237-0.137-0.384-0.392-0.384-0.667V5.77 c0-0.275,0.146-0.53,0.384-0.667C6.119,4.965,6.41,4.966,6.648,5.104l11.471,6.73c0.234,0.139,0.379,0.392,0.379,0.665 s-0.145,0.526-0.379,0.665l-11.471,6.73C6.528,19.965,6.396,20,6.262,20z M7.027,7.108v10.783l9.188-5.392L7.027,7.108z" />
-</vector>

+ 2 - 6
app/src/main/res/drawable/ic_praise.xml

@@ -1,7 +1,3 @@
-<vector android:height="24dp" android:viewportHeight="1024"
-    android:viewportWidth="1024" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="#FF000000" android:pathData="M939.4,423.4c-23,-37.3 -62.9,-60.8 -107,-63.2 -2.8,-0.4 -5.5,-0.6 -8.3,-0.6l-152.2,-0.1c6.6,-29 10,-58.7 10,-88.7 0,-28.2 -3.2,-57.1 -9.6,-86 -0.4,-2 -1.1,-4 -1.9,-5.9 -15.8,-57.3 -67.4,-96.8 -127.3,-96.8 -72.8,0 -132.1,59.3 -132.1,132.1 0,3.3 0.1,6.7 0.4,10 -2.2,57.2 -32.1,109.9 -80.3,141.4 -14.4,9.4 -18.5,28.8 -9.1,43.2 9.4,14.4 28.8,18.5 43.2,9.1 65.8,-42.9 106.4,-115.3 108.7,-193.7 0,-1.3 -0,-2.7 -0.1,-4 -0.2,-2 -0.3,-4 -0.3,-6 0,-38.4 31.2,-69.6 69.6,-69.6 32.6,0 60.5,22.2 67.8,54 0.4,1.5 0.8,3 1.4,4.5 4.7,22.8 7.1,45.6 7.1,67.7 0,37.5 -6.2,74.4 -18.5,109.6 -3.3,9.5 -1.8,20.1 4,28.3 5.9,8.2 15.3,13.1 25.4,13.2l193.2,0.1c1.4,0.3 2.9,0.4 4.3,0.5 24.1,1 45.9,13.6 58.6,34.1 7.8,12.3 11.4,26.8 10.4,41.9 -0.1,0.9 -0.1,1.9 -0.1,2.9 0,0.9 0,1.7 0.1,2.5 0,0.3 -0,0.7 -0.1,1 -0.1,0.4 -0.2,0.8 -0.3,1.2l-75,330.4c-0.9,1.3 -1.7,2.6 -2.4,4 -5.9,11.8 -14.7,21.5 -25.3,28.2 -10.7,6.8 -23.1,10.6 -35.8,11.1 -0.9,-0.1 -513.8,-0.2 -513.8,-0.2 -0.5,-0 -0.9,-0 -1.4,-0 0,0 -111,0.2 -112.7,0.5 -1.9,0 -3.4,-1.5 -3.4,-3.4l0.3,-416.3c0,-1.9 1.5,-3.4 3,-3.5l1.2,0.1c1.2,0.1 2.7,0.3 3.5,0.2l83.8,-0.2 0,339.4c0,17.3 14,31.2 31.2,31.2s31.2,-14 31.2,-31.2L281,435.4c0,-1.8 0,-8.6 0,-10.4 0,-17.3 -14,-30.9 -31.2,-30.9 -1.5,0 -117.5,0.3 -119.4,0.3 -36.3,0 -65.9,29.6 -65.9,65.9l-0.3,416.3c0,36.3 29.6,65.9 65.9,65.9 2.5,0 111.4,-0.5 111.4,-0.5 0.5,0 0.9,0 1.4,0 0,0 511.5,0.3 512.5,0.3 25.5,0 50.3,-7.2 71.6,-20.7 19.6,-12.3 35.8,-29.9 46.8,-51 3.7,-5.6 6.4,-11.9 8.3,-18.6 0.1,-0.4 0.2,-0.8 0.3,-1.2l74.9,-330.3c1.6,-6.2 2.3,-12.6 2,-19C960.9,473.4 953.9,446.3 939.4,423.4z"/>
-    <path android:fillColor="#FF000000" android:pathData="M450,518.7c-17.3,0 -31.2,14 -31.2,31.2l0,30.5c0,17.3 14,31.2 31.2,31.2 17.3,0 31.2,-14 31.2,-31.2l0,-30.5C481.3,532.6 467.3,518.7 450,518.7z"/>
-    <path android:fillColor="#FF000000" android:pathData="M693.8,518.7c-17.3,0 -31.2,14 -31.2,31.2l0,30.5c0,17.3 14,31.2 31.2,31.2 17.3,0 31.2,-14 31.2,-31.2l0,-30.5C725,532.6 711.1,518.7 693.8,518.7z"/>
-    <path android:fillColor="#FF000000" android:pathData="M648.9,660.1c-14.3,-9.4 -33.6,-5.4 -43.2,8.8 -0.1,0.2 -13.6,19.8 -34.2,19.8 -20,0 -32.4,-18.1 -33.3,-19.4 -9.2,-14.4 -28.3,-18.8 -42.8,-9.8 -14.7,9.1 -19.2,28.4 -10.1,43 11.2,18 42,48.6 86.2,48.6 44,0 75.1,-30.3 86.6,-48.2C667.4,688.5 663.2,669.5 648.9,660.1z"/>
+<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="M720,840L280,840L280,320L560,40L610,90Q617,97 621.5,109Q626,121 626,132L626,146L582,320L840,320Q872,320 896,344Q920,368 920,400L920,480Q920,487 918,495Q916,503 914,510L794,792Q785,812 764,826Q743,840 720,840ZM360,760L720,760Q720,760 720,760Q720,760 720,760L840,480L840,400Q840,400 840,400Q840,400 840,400L480,400L534,180L360,354L360,760ZM360,354L360,354L360,400L360,400Q360,400 360,400Q360,400 360,400L360,480L360,760Q360,760 360,760Q360,760 360,760L360,760L360,354ZM280,320L280,400L160,400L160,760L280,760L280,840L80,840L80,320L280,320Z"/>
 </vector>
 </vector>

+ 2 - 8
app/src/main/res/drawable/ic_reduce.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M19,13H5v-2h14v2z" />
+<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="M200,520L200,440L760,440L760,520L200,520Z"/>
 </vector>
 </vector>

+ 0 - 0
app/src/main/res/drawable/ic_refresh_black_24dp.xml → app/src/main/res/drawable/ic_refresh.xml


+ 0 - 9
app/src/main/res/drawable/ic_refresh_white_24dp.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#ffffff"
-        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z" />
-</vector>

+ 2 - 8
app/src/main/res/drawable/ic_restore.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
+<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,840Q342,840 239.5,748.5Q137,657 122,520L204,520Q218,624 296.5,692Q375,760 480,760Q597,760 678.5,678.5Q760,597 760,480Q760,363 678.5,281.5Q597,200 480,200Q411,200 351,232Q291,264 250,320L360,320L360,400L120,400L120,160L200,160L200,254Q251,190 324.5,155Q398,120 480,120Q555,120 620.5,148.5Q686,177 734.5,225.5Q783,274 811.5,339.5Q840,405 840,480Q840,555 811.5,620.5Q783,686 734.5,734.5Q686,783 620.5,811.5Q555,840 480,840ZM592,648L440,496L440,280L520,280L520,464L648,592L592,648Z"/>
 </vector>
 </vector>

+ 2 - 12
app/src/main/res/drawable/ic_scan.xml

@@ -1,14 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="1024"
-    android:viewportHeight="1024">
-
-    <path
-        android:fillColor="#000000"
-        android:pathData="M725.333333 128h149.184C886.421333 128 896 137.578667 896 149.482667V298.666667a42.666667 42.666667 0 1 0 85.333333 0V149.482667A106.752 106.752 0 0 0 874.517333 42.666667H725.333333a42.666667 42.666667 0 1 0 0 85.333333z m170.666667 597.333333v149.184c0 11.904-9.578667 21.482667-21.482667 21.482667H725.333333a42.666667 42.666667 0 1 0 0 85.333333h149.184A106.752 106.752 0 0 0 981.333333 874.517333V725.333333a42.666667 42.666667 0 1 0-85.333333 0z m-597.333333 170.666667H149.482667A21.418667 21.418667 0 0 1 128 874.517333V725.333333a42.666667 42.666667 0 1 0-85.333333 0v149.184A106.752 106.752 0 0 0 149.482667 981.333333H298.666667a42.666667 42.666667 0 1 0 0-85.333333zM128 298.666667a42.666667 42.666667 0 1 1-85.333333 0V149.482667A106.752 106.752 0 0 1 149.482667 42.666667H298.666667a42.666667 42.666667 0 1 1 0 85.333333H149.482667C137.578667 128 128 137.578667 128 149.482667V298.666667zM85.333333 554.666667a42.666667 42.666667 0 1 1 0-85.333334h853.333334a42.666667 42.666667 0 1 1 0 85.333334H85.333333z"
-        tools:ignore="VectorPath" />
-
+<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="M450,540Q488,540 514,514Q540,488 540,450Q540,412 514,386Q488,360 450,360Q412,360 386,386Q360,412 360,450Q360,488 386,514Q412,540 450,540ZM643,700L538,595Q518,608 495.5,614Q473,620 450,620Q379,620 329.5,570.5Q280,521 280,450Q280,379 329.5,329.5Q379,280 450,280Q521,280 570.5,329.5Q620,379 620,450Q620,473 613.5,495.5Q607,518 594,538L700,644L643,700ZM200,840Q167,840 143.5,816.5Q120,793 120,760L120,600L200,600L200,760Q200,760 200,760Q200,760 200,760L360,760L360,840L200,840ZM600,840L600,760L760,760Q760,760 760,760Q760,760 760,760L760,600L840,600L840,760Q840,793 816.5,816.5Q793,840 760,840L600,840ZM120,360L120,200Q120,167 143.5,143.5Q167,120 200,120L360,120L360,200L200,200Q200,200 200,200Q200,200 200,200L200,360L120,360ZM760,360L760,200Q760,200 760,200Q760,200 760,200L600,200L600,120L760,120Q793,120 816.5,143.5Q840,167 840,200L840,360L760,360Z"/>
 </vector>
 </vector>

+ 2 - 9
app/src/main/res/drawable/ic_scoring.xml

@@ -1,11 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M16.948,19.437L12,16.838l-4.946,2.599L8,13.932l-4-3.9l5.528-0.808L12,4.219l2.472,5.005L20,10.031 l-4,3.9L16.948,19.437z M12,15.349l3.198,1.679l-0.613-3.557l2.584-2.52l-3.572-0.52L12,7.192l-1.599,3.239l-3.572,0.52l2.588,2.52 l-0.613,3.557L12,15.349z" />
+<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="M354,673L480,597L606,674L573,530L684,434L538,421L480,285L422,420L276,433L387,530L354,673ZM233,840L298,559L80,370L368,345L480,80L592,345L880,370L662,559L727,840L480,691L233,840ZM480,490L480,490L480,490L480,490L480,490L480,490L480,490L480,490L480,490L480,490Z"/>
 </vector>
 </vector>

+ 2 - 9
app/src/main/res/drawable/ic_screen.xml

@@ -1,11 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="1024"
-    android:viewportHeight="1024">
-
-    <path
-        android:fillColor="#FFFFFF"
-        android:pathData="M512 720.457143v-109.714286H201.216v109.714286H512z m0 204.8v-109.714286H201.216v109.714286H512zM324.754286 445.147429v40.886857h109.714285V429.348571a54.857143 54.857143 0 0 0-8.411428-29.110857L273.846857 157.257143h497.444572l-152.137143 242.980571a54.857143 54.857143 0 0 0-8.411429 29.110857v542.72h109.714286V445.074286l196.461714-313.636572A54.857143 54.857143 0 0 0 870.4 47.542857H174.811429a54.857143 54.857143 0 0 0-46.518858 83.968l196.388572 313.636572z" />
+<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="M440,800Q423,800 411.5,788.5Q400,777 400,760L400,520L168,224Q153,204 163.5,182Q174,160 200,160L760,160Q786,160 796.5,182Q807,204 792,224L560,520L560,760Q560,777 548.5,788.5Q537,800 520,800L440,800ZM480,492L678,240L282,240L480,492ZM480,492L480,492L480,492Z"/>
 </vector>
 </vector>

+ 0 - 3
app/src/main/res/drawable/ic_star_border.xml

@@ -1,3 +0,0 @@
-<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,840L422,788Q321,697 255,631Q189,565 150,512.5Q111,460 95.5,416Q80,372 80,326Q80,232 143,169Q206,106 300,106Q352,106 399,128Q446,150 480,190Q514,150 561,128Q608,106 660,106Q754,106 817,169Q880,232 880,326Q880,372 864.5,416Q849,460 810,512.5Q771,565 705,631Q639,697 538,788L480,840ZM480,732Q576,646 638,584.5Q700,523 736,477.5Q772,432 786,396.5Q800,361 800,326Q800,266 760,226Q720,186 660,186Q613,186 573,212.5Q533,239 518,280L518,280L442,280L442,280Q427,239 387,212.5Q347,186 300,186Q240,186 200,226Q160,266 160,326Q160,361 174,396.5Q188,432 224,477.5Q260,523 322,584.5Q384,646 480,732ZM480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459L480,459L480,459L480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Z"/>
-</vector>

+ 2 - 8
app/src/main/res/drawable/ic_storage_black_24dp.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-            android:fillColor="#FF000000"
-            android:pathData="M2,20h20v-4L2,16v4zM4,17h2v2L4,19v-2zM2,4v4h20L22,4L2,4zM6,7L4,7L4,5h2v2zM2,14h20v-4L2,10v4zM4,11h2v2L4,13v-2z"/>
+<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="M300,240Q275,240 257.5,257.5Q240,275 240,300Q240,325 257.5,342.5Q275,360 300,360Q325,360 342.5,342.5Q360,325 360,300Q360,275 342.5,257.5Q325,240 300,240ZM300,640Q275,640 257.5,657.5Q240,675 240,700Q240,725 257.5,742.5Q275,760 300,760Q325,760 342.5,742.5Q360,725 360,700Q360,675 342.5,657.5Q325,640 300,640ZM160,120L800,120Q817,120 828.5,131.5Q840,143 840,160L840,440Q840,457 828.5,468.5Q817,480 800,480L160,480Q143,480 131.5,468.5Q120,457 120,440L120,160Q120,143 131.5,131.5Q143,120 160,120ZM200,200L200,400L760,400L760,200L200,200ZM160,520L800,520Q817,520 828.5,531.5Q840,543 840,560L840,840Q840,857 828.5,868.5Q817,880 800,880L160,880Q143,880 131.5,868.5Q120,857 120,840L120,560Q120,543 131.5,531.5Q143,520 160,520ZM200,600L200,800L760,800L760,600L200,600ZM200,200L200,200L200,400L200,400L200,200ZM200,600L200,600L200,800L200,800L200,600Z"/>
 </vector>
 </vector>

+ 2 - 9
app/src/main/res/drawable/ic_swap_horiz.xml

@@ -1,10 +1,3 @@
-<vector android:height="24dp"
-    android:tint="#000000"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:width="24dp"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M6.99,11L3,15l3.99,4v-3H14v-2H6.99v-3zM21,9l-3.99,-4v3H10v2h7.01v3L21,9z" />
+<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="M280,800L80,600L280,400L336,457L233,560L520,560L520,640L233,640L336,743L280,800ZM680,560L624,503L727,400L440,400L440,320L727,320L624,217L680,160L880,360L680,560Z"/>
 </vector>
 </vector>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 9
app/src/main/res/drawable/ic_time_add_24dp.xml


+ 2 - 18
app/src/main/res/drawable/ic_timer_black_24dp.xml

@@ -1,20 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 12.742 9.076 L 11.258 9.076 L 11.258 13.009 L 14.492 13.009 L 14.492 11.522 L 12.742 11.522 Z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M12.094,5.522c-3.719,0-6.742,3.024-6.742,6.742c0,2.38,1.241,4.472,3.107,5.672L7.77,19.016 l1.252,0.801l0.777-1.218c0.717,0.261,1.488,0.41,2.295,0.41c0.918,0,1.792-0.187,2.592-0.52l0.848,1.327l1.252-0.801l-0.803-1.252 c1.725-1.224,2.854-3.229,2.854-5.499C18.836,8.547,15.811,5.522,12.094,5.522z M12.094,17.523c-2.898,0-5.258-2.358-5.258-5.259 c0-2.897,2.359-5.256,5.258-5.256s5.257,2.358,5.257,5.256C17.351,15.165,14.992,17.523,12.094,17.523z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M5.725,6.557c0-0.336,0.13-0.65,0.367-0.888c0.49-0.49,1.289-0.491,1.779,0.001l1.05-1.053 c-1.069-1.068-2.811-1.068-3.879,0C4.523,5.135,4.238,5.823,4.237,6.556c0,0.733,0.286,1.423,0.805,1.941l1.05-1.05 C5.854,7.209,5.723,6.893,5.725,6.557z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M18.958,4.617c-1.071-1.069-2.812-1.068-3.88,0.002l1.051,1.05c0.489-0.49,1.288-0.49,1.779,0 c0.489,0.489,0.489,1.287-0.002,1.778l1.053,1.05C20.027,7.427,20.027,5.687,18.958,4.617z" />
+<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,880Q405,880 339.5,851.5Q274,823 225.5,774.5Q177,726 148.5,660.5Q120,595 120,520Q120,445 148.5,379.5Q177,314 225.5,265.5Q274,217 339.5,188.5Q405,160 480,160Q555,160 620.5,188.5Q686,217 734.5,265.5Q783,314 811.5,379.5Q840,445 840,520Q840,595 811.5,660.5Q783,726 734.5,774.5Q686,823 620.5,851.5Q555,880 480,880ZM480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520ZM592,688L648,632L520,504L520,320L440,320L440,536L592,688ZM224,94L280,150L110,320L54,264L224,94ZM736,94L906,264L850,320L680,150L736,94ZM480,800Q597,800 678.5,718.5Q760,637 760,520Q760,403 678.5,321.5Q597,240 480,240Q363,240 281.5,321.5Q200,403 200,520Q200,637 281.5,718.5Q363,800 480,800Z"/>
 </vector>
 </vector>

+ 2 - 12
app/src/main/res/drawable/ic_update.xml

@@ -1,14 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?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="24"
-    android:viewportHeight="24">
-
-    <path
-        android:fillColor="#595757"
-        android:pathData="M15.879,10.302H20V6.182h-1.454V7.43C17.066,5.315,14.646,4,12,4c-4.412,0-8,3.589-8,8s3.588,8,8,8 c3.789,0,7.086-2.691,7.84-6.401l-1.426-0.29C17.798,16.344,15.1,18.546,12,18.546c-3.608,0-6.546-2.937-6.546-6.546 S8.392,5.454,12,5.454c2.398,0,4.576,1.32,5.721,3.394h-1.842V10.302z" />
-    <path
-        android:fillColor="#595757"
-        android:pathData="M 12.727 12.105 L 12.727 7.469 L 11.273 7.469 L 11.273 12.708 L 14.014 15.448 L 15.042 14.42 Z" />
+<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,840Q405,840 339.5,811.5Q274,783 225.5,734.5Q177,686 148.5,620.5Q120,555 120,480Q120,405 148.5,339.5Q177,274 225.5,225.5Q274,177 339.5,148.5Q405,120 480,120Q562,120 635.5,155Q709,190 760,254L760,160L840,160L840,400L600,400L600,320L710,320Q669,264 609,232Q549,200 480,200Q363,200 281.5,281.5Q200,363 200,480Q200,597 281.5,678.5Q363,760 480,760Q585,760 663.5,692Q742,624 756,520L838,520Q823,657 720.5,748.5Q618,840 480,840ZM592,648L440,496L440,280L520,280L520,464L648,592L592,648Z"/>
 </vector>
 </vector>

+ 2 - 8
app/src/main/res/drawable/ic_volume_up.xml

@@ -1,9 +1,3 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M3,9v6h4l5,5L12,4L7,9L3,9zM16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z" />
+<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" android:autoMirrored="true">
+    <path android:fillColor="@android:color/white" android:pathData="M560,829L560,747Q650,721 705,647Q760,573 760,479Q760,385 705,311Q650,237 560,211L560,129Q684,157 762,254.5Q840,352 840,479Q840,606 762,703.5Q684,801 560,829ZM120,600L120,360L280,360L480,160L480,800L280,600L120,600ZM560,640L560,318Q607,340 633.5,384Q660,428 660,480Q660,531 633.5,574.5Q607,618 560,640ZM400,354L314,440L200,440L200,520L314,520L400,606L400,354ZM300,480L300,480L300,480L300,480L300,480L300,480Z"/>
 </vector>
 </vector>

+ 3 - 10
app/src/main/res/drawable/ic_web_service_noti.xml

@@ -1,10 +1,3 @@
-<vector android:height="24dp"
-    android:tint="#FFFFFF"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:width="24dp"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M7,7.07L8.43,8.5c0.91,-0.91 2.18,-1.48 3.57,-1.48s2.66,0.57 3.57,1.48L17,7.07C15.72,5.79 13.95,5 12,5s-3.72,0.79 -5,2.07zM12,1C8.98,1 6.24,2.23 4.25,4.21l1.41,1.41C7.28,4 9.53,3 12,3s4.72,1 6.34,2.62l1.41,-1.41C17.76,2.23 15.02,1 12,1zM14.86,10.01L9.14,10C8.51,10 8,10.51 8,11.14v9.71c0,0.63 0.51,1.14 1.14,1.14h5.71c0.63,0 1.14,-0.51 1.14,-1.14v-9.71c0.01,-0.63 -0.5,-1.13 -1.13,-1.13zM15,20L9,20v-8h6v8z" />
-</vector>
+<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="M204,810Q147,755 113.5,680.5Q80,606 80,520Q80,437 111.5,364Q143,291 197,237Q251,183 324,151.5Q397,120 480,120Q563,120 636,151.5Q709,183 763,237Q817,291 848.5,364Q880,437 880,520Q880,606 846.5,681Q813,756 756,810L700,754Q746,710 773,649.5Q800,589 800,520Q800,386 707,293Q614,200 480,200Q346,200 253,293Q160,386 160,520Q160,589 187,649Q214,709 261,753L204,810ZM317,697Q282,664 261,618.5Q240,573 240,520Q240,420 310,350Q380,280 480,280Q580,280 650,350Q720,420 720,520Q720,573 699,619Q678,665 643,697L586,640Q611,617 625.5,586Q640,555 640,520Q640,454 593,407Q546,360 480,360Q414,360 367,407Q320,454 320,520Q320,556 334.5,586.5Q349,617 374,640L317,697ZM480,600Q447,600 423.5,576.5Q400,553 400,520Q400,487 423.5,463.5Q447,440 480,440Q513,440 536.5,463.5Q560,487 560,520Q560,553 536.5,576.5Q513,600 480,600Z"/>
+</vector>

+ 99 - 96
app/src/main/res/layout/activity_book_info.xml

@@ -22,10 +22,11 @@
 
 
         <com.google.android.material.appbar.CollapsingToolbarLayout
         <com.google.android.material.appbar.CollapsingToolbarLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="120dp"
-            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
-            app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
-            app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
+            android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
+            style="?attr/collapsingToolbarLayoutLargeSize"
+            app:collapsedTitleTextAppearance="?attr/textAppearanceTitleLarge"
+            app:expandedTitleTextAppearance="?attr/textAppearanceHeadlineLarge"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
 
 
             <com.google.android.material.appbar.MaterialToolbar
             <com.google.android.material.appbar.MaterialToolbar
                 android:id="@+id/top_bar"
                 android:id="@+id/top_bar"
@@ -64,18 +65,18 @@
                     android:layout_width="match_parent"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:background="@drawable/bg_gradient_mask"
                     android:background="@drawable/bg_gradient_mask"
-                    android:padding="16dp">
+                    android:paddingHorizontal="16dp"
+                    android:paddingTop="8dp">
 
 
                     <androidx.cardview.widget.CardView
                     <androidx.cardview.widget.CardView
                         android:layout_width="wrap_content"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
-                        app:cardCornerRadius="5dp"
-                        app:cardElevation="8dp">
+                        app:cardCornerRadius="8dp">
 
 
                         <io.legado.app.ui.widget.image.CoverImageView
                         <io.legado.app.ui.widget.image.CoverImageView
                             android:id="@+id/iv_cover"
                             android:id="@+id/iv_cover"
-                            android:layout_width="90dp"
-                            android:layout_height="130dp"
+                            android:layout_width="100dp"
+                            android:layout_height="140dp"
                             android:contentDescription="@string/img_cover"
                             android:contentDescription="@string/img_cover"
                             android:scaleType="centerCrop"
                             android:scaleType="centerCrop"
                             android:src="@drawable/image_cover_default" />
                             android:src="@drawable/image_cover_default" />
@@ -155,16 +156,6 @@
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
                                 tools:text="@string/origin_format" />
                                 tools:text="@string/origin_format" />
 
 
-                            <com.google.android.material.button.MaterialButton
-                                android:id="@+id/btn_change_source"
-                                style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
-                                android:layout_width="30dp"
-                                android:layout_height="30dp"
-                                app:iconGravity="textStart"
-                                app:icon="@drawable/ic_change_source"
-                                app:iconSize="18dp"
-                                tools:contentDescription="@string/change_origin" />
-
                         </LinearLayout>
                         </LinearLayout>
                     </LinearLayout>
                     </LinearLayout>
                 </LinearLayout>
                 </LinearLayout>
@@ -175,31 +166,12 @@
                     android:layout_height="match_parent"
                     android:layout_height="match_parent"
                     android:background="@color/background_theme"
                     android:background="@color/background_theme"
                     android:orientation="vertical"
                     android:orientation="vertical"
-                    android:paddingLeft="8dp"
-                    android:paddingRight="8dp"
-                    android:paddingBottom="8dp">
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:orientation="vertical"
-                        android:paddingLeft="10dp"
-                        android:paddingTop="8dp"
-                        android:paddingRight="10dp"
-                        android:paddingBottom="3dp">
-
-                        <HorizontalScrollView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_gravity="center"
-                            android:layout_marginBottom="6dp"
-                            android:scrollbars="none" />
+                    android:padding="8dp">
 
 
                         <HorizontalScrollView
                         <HorizontalScrollView
                             android:layout_width="match_parent"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_gravity="center"
-                            android:layout_marginBottom="6dp"
+                            android:layout_marginStart="8dp"
                             android:scrollbars="none">
                             android:scrollbars="none">
 
 
                             <io.legado.app.ui.widget.LabelsBar
                             <io.legado.app.ui.widget.LabelsBar
@@ -209,16 +181,86 @@
                                 android:visibility="gone" />
                                 android:visibility="gone" />
 
 
                         </HorizontalScrollView>
                         </HorizontalScrollView>
-                    </LinearLayout>
 
 
                     <LinearLayout
                     <LinearLayout
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
                         android:orientation="vertical"
                         android:orientation="vertical"
-                        android:paddingLeft="8dp"
-                        android:paddingRight="8dp"
+                        android:paddingHorizontal="8dp"
                         android:paddingBottom="8dp">
                         android:paddingBottom="8dp">
 
 
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="horizontal"
+                            android:weightSum="4"
+                            android:gravity="center_vertical">
+
+                            <com.google.android.material.button.MaterialButton
+                                android:id="@+id/btn_shelf"
+                                style="@style/Widget.Material3.Button.TextButton"
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:layout_marginEnd="6dp"
+                                android:padding="8dp"
+                                android:text="@string/remove_from_bookshelf"
+                                android:textSize="13sp"
+                                app:icon="@drawable/ic_clear_all"
+                                app:iconGravity="top"
+                                app:iconPadding="4dp"
+                                app:iconSize="20dp" />
+
+                            <!-- 查看目录按钮 -->
+                            <com.google.android.material.button.MaterialButton
+                                android:id="@+id/tv_toc_view"
+                                style="@style/Widget.Material3.Button.TextButton"
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:layout_marginStart="8dp"
+                                android:padding="8dp"
+                                android:text="@string/view_toc"
+                                android:textSize="13sp"
+                                app:icon="@drawable/ic_toc"
+                                app:iconGravity="top"
+                                app:iconPadding="4dp"
+                                app:iconSize="20dp" />
+
+                            <!-- 更换分组按钮 -->
+                            <com.google.android.material.button.MaterialButton
+                                android:id="@+id/tv_change_group"
+                                style="@style/Widget.Material3.Button.TextButton"
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:layout_marginStart="8dp"
+                                android:padding="8dp"
+                                android:text="@string/change_group"
+                                android:textSize="13sp"
+                                app:icon="@drawable/ic_groups"
+                                app:iconGravity="top"
+                                app:iconPadding="4dp"
+                                app:iconSize="20dp" />
+
+                            <!-- 更换来源按钮(保持原样) -->
+                            <com.google.android.material.button.MaterialButton
+                                android:id="@+id/btn_change_source"
+                                style="@style/Widget.Material3.Button.TextButton"
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:layout_marginStart="8dp"
+                                android:text="@string/book_source"
+                                android:padding="8dp"
+                                app:icon="@drawable/ic_change_source"
+                                android:textSize="13sp"
+                                app:iconGravity="top"
+                                app:iconPadding="4dp"
+                                app:iconSize="20dp"
+                                tools:contentDescription="@string/change_origin" />
+                        </LinearLayout>
+
                         <LinearLayout
                         <LinearLayout
                             android:id="@+id/ll_toc"
                             android:id="@+id/ll_toc"
                             android:layout_width="match_parent"
                             android:layout_width="match_parent"
@@ -248,17 +290,6 @@
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
                                 tools:text="@string/toc_s" />
                                 tools:text="@string/toc_s" />
 
 
-                            <io.legado.app.ui.widget.text.AccentBgTextView
-                                android:id="@+id/tv_toc_view"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginStart="8dp"
-                                android:paddingLeft="5dp"
-                                android:paddingRight="5dp"
-                                android:text="@string/view_toc"
-                                android:textSize="13sp"
-                                app:radius="2dp" />
-
                         </LinearLayout>
                         </LinearLayout>
 
 
                         <LinearLayout
                         <LinearLayout
@@ -323,17 +354,6 @@
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
                                 tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
                                 tools:text="@string/group_s" />
                                 tools:text="@string/group_s" />
 
 
-                            <io.legado.app.ui.widget.text.AccentBgTextView
-                                android:id="@+id/tv_change_group"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginStart="8dp"
-                                android:paddingLeft="5dp"
-                                android:paddingRight="5dp"
-                                android:text="@string/change_group"
-                                android:textSize="13sp"
-                                app:radius="2dp" />
-
                         </LinearLayout>
                         </LinearLayout>
                     </LinearLayout>
                     </LinearLayout>
 
 
@@ -359,37 +379,20 @@
         </io.legado.app.ui.widget.NoChildScrollNestedScrollView>
         </io.legado.app.ui.widget.NoChildScrollNestedScrollView>
     </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
     </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
 
-    <LinearLayout
-        android:id="@+id/fl_action"
-        android:layout_width="match_parent"
+    <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
+        android:id="@+id/btn_read"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="bottom"
-        android:background="@color/background_theme"
-        android:orientation="horizontal"
-        android:padding="12dp">
-
-        <com.google.android.material.button.MaterialButton
-            android:id="@+id/btn_shelf"
-            style="@style/Widget.Material3.Button.OutlinedButton"
-            android:layout_width="0dp"
-            android:layout_height="50dp"
-            android:layout_marginEnd="6dp"
-            android:layout_weight="1"
-            android:text="@string/remove_from_bookshelf"
-            android:textSize="15sp"
-            app:iconPadding="0dp" />
-
-        <com.google.android.material.button.MaterialButton
-            android:id="@+id/btn_read"
-            style="@style/Widget.Material3.Button"
-            android:layout_width="0dp"
-            android:layout_height="50dp"
-            android:layout_marginStart="6dp"
-            android:layout_weight="1"
-            android:text="@string/reading"
-            android:textSize="15sp"
-            app:iconPadding="0dp" />
-
-    </LinearLayout>
+        android:layout_gravity="bottom|end"
+        android:layout_marginEnd="16dp"
+        android:layout_marginBottom="24dp"
+        android:text="@string/reading"
+        android:textColor="?attr/colorOnPrimary"
+        android:contentDescription="@string/reading"
+        app:iconGravity="textStart"
+        app:icon="@drawable/ic_bottom_books"
+        app:backgroundTint="?attr/colorSecondary"
+        app:iconTint="?attr/colorOnPrimary"
+        app:layout_behavior="com.google.android.material.behavior.HideBottomViewOnScrollBehavior" />
 
 
 </androidx.coordinatorlayout.widget.CoordinatorLayout>
 </androidx.coordinatorlayout.widget.CoordinatorLayout>

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

@@ -15,7 +15,7 @@
         android:id="@+id/tab_layout"
         android:id="@+id/tab_layout"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        app:tabMode="scrollable" />
+        android:layout_marginStart="16dp"/>
 
 
     <androidx.viewpager.widget.ViewPager
     <androidx.viewpager.widget.ViewPager
         android:id="@+id/view_pager"
         android:id="@+id/view_pager"

+ 49 - 52
app/src/main/res/layout/dialog_bookmark.xml

@@ -1,18 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<FrameLayout 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"
     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="match_parent">
-
-    <LinearLayout
-        android:id="@+id/vw_bg"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:orientation="vertical"
-        tools:ignore="UselessParent"
-        android:padding="12dp">
+    android:layout_height="wrap_content"
+    android:id="@+id/vw_bg"
+    android:layout_gravity="center"
+    android:orientation="vertical"
+    tools:ignore="UselessParent">
 
 
         <androidx.appcompat.widget.Toolbar
         <androidx.appcompat.widget.Toolbar
             android:id="@+id/tool_bar"
             android:id="@+id/tool_bar"
@@ -26,93 +21,95 @@
             android:id="@+id/tv_chapter_name"
             android:id="@+id/tv_chapter_name"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:paddingLeft="16dp"
-            android:paddingRight="16dp" />
+            android:padding="16dp" />
 
 
         <androidx.core.widget.NestedScrollView
         <androidx.core.widget.NestedScrollView
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_height="0dp"
             android:layout_weight="1"
             android:layout_weight="1"
+            android:padding="16dp"
             android:overScrollMode="ifContentScrolls">
             android:overScrollMode="ifContentScrolls">
 
 
             <LinearLayout
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:orientation="vertical"
-                android:padding="16dp">
+                android:orientation="vertical">
 
 
-                <io.legado.app.ui.widget.text.TextInputLayout
+                <com.google.android.material.textfield.TextInputLayout
                     android:layout_width="match_parent"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:paddingTop="3dp">
                     android:paddingTop="3dp">
 
 
-                    <io.legado.app.lib.theme.view.ThemeEditText
+                    <com.google.android.material.textfield.TextInputEditText
                         android:id="@+id/edit_book_text"
                         android:id="@+id/edit_book_text"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
                         android:hint="@string/content"
                         android:hint="@string/content"
                         tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
                         tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
 
 
-                </io.legado.app.ui.widget.text.TextInputLayout>
+                </com.google.android.material.textfield.TextInputLayout>
 
 
-                <io.legado.app.ui.widget.text.TextInputLayout
+                <com.google.android.material.textfield.TextInputLayout
                     android:layout_width="match_parent"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:paddingTop="3dp">
                     android:paddingTop="3dp">
 
 
-                    <io.legado.app.lib.theme.view.ThemeEditText
+                    <com.google.android.material.textfield.TextInputEditText
                         android:id="@+id/edit_content"
                         android:id="@+id/edit_content"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
                         android:hint="@string/note_content"
                         android:hint="@string/note_content"
                         tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
                         tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
 
 
-                </io.legado.app.ui.widget.text.TextInputLayout>
+                </com.google.android.material.textfield.TextInputLayout>
 
 
             </LinearLayout>
             </LinearLayout>
 
 
         </androidx.core.widget.NestedScrollView>
         </androidx.core.widget.NestedScrollView>
 
 
-        <com.google.android.flexbox.FlexboxLayout
+        <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="12dp"
-            android:paddingRight="12dp"
-            app:flexWrap="wrap"
-            app:justifyContent="space_between">
+            android:padding="16dp">
 
 
-            <io.legado.app.ui.widget.text.AccentTextView
-                android:id="@+id/tv_footer_left"
+            <!-- 删除按钮靠左 -->
+            <com.google.android.material.button.MaterialButton
+                android:id="@+id/btn_delete"
+                style="@style/Widget.Material3.Button.TonalButton"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:padding="12dp"
                 android:padding="12dp"
                 android:text="@string/delete"
                 android:text="@string/delete"
                 android:visibility="invisible"
                 android:visibility="invisible"
-                tools:ignore="RtlHardcoded" />
-
-            <LinearLayout
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent" />
+
+            <!-- 取消按钮 -->
+            <com.google.android.material.button.MaterialButton
+                android:id="@+id/btn_cancel"
+                style="@style/Widget.Material3.Button.TonalButton"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <io.legado.app.ui.widget.text.AccentTextView
-                    android:id="@+id/tv_cancel"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:padding="12dp"
-                    android:text="@string/cancel"
-                    tools:ignore="RtlHardcoded" />
-
-                <io.legado.app.ui.widget.text.AccentTextView
-                    android:id="@+id/tv_ok"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:padding="12dp"
-                    android:text="@string/ok"
-                    tools:ignore="RtlHardcoded" />
+                android:padding="12dp"
+                android:text="@string/cancel"
+                app:layout_constraintEnd_toStartOf="@id/btn_ok"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                android:layout_marginEnd="8dp"/>
+
+            <!-- 确认按钮靠右 -->
+            <com.google.android.material.button.MaterialButton
+                android:id="@+id/btn_ok"
+                style="@style/Widget.Material3.Button.TonalButton"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:padding="12dp"
+                android:text="@string/ok"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent" />
 
 
-            </LinearLayout>
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
 
-        </com.google.android.flexbox.FlexboxLayout>
-    </LinearLayout>
-</FrameLayout>
+</LinearLayout>

+ 11 - 17
app/src/main/res/layout/dialog_dict_rule_edit.xml

@@ -1,23 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<FrameLayout 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"
     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="match_parent">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:orientation="vertical"
-        tools:ignore="UselessParent">
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:orientation="vertical"
+    tools:ignore="UselessParent">
 
 
         <androidx.appcompat.widget.Toolbar
         <androidx.appcompat.widget.Toolbar
             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"
+            style="?attr/actionBarStyle"
             app:displayHomeAsUp="false"
             app:displayHomeAsUp="false"
             app:fitStatusBar="false"
             app:fitStatusBar="false"
             app:title="@string/dict_rule"
             app:title="@string/dict_rule"
@@ -40,7 +36,7 @@
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:hint="@string/name">
                     android:hint="@string/name">
 
 
-                    <io.legado.app.lib.theme.view.ThemeEditText
+                    <com.google.android.material.textfield.TextInputEditText
                         android:id="@+id/tv_rule_name"
                         android:id="@+id/tv_rule_name"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
@@ -53,7 +49,7 @@
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:hint="@string/url_rule">
                     android:hint="@string/url_rule">
 
 
-                    <io.legado.app.lib.theme.view.ThemeEditText
+                    <com.google.android.material.textfield.TextInputEditText
                         android:id="@+id/tv_url_rule"
                         android:id="@+id/tv_url_rule"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
@@ -66,7 +62,7 @@
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:hint="@string/show_rule">
                     android:hint="@string/show_rule">
 
 
-                    <io.legado.app.lib.theme.view.ThemeEditText
+                    <com.google.android.material.textfield.TextInputEditText
                         android:id="@+id/tv_show_rule"
                         android:id="@+id/tv_show_rule"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
@@ -78,6 +74,4 @@
 
 
         </androidx.core.widget.NestedScrollView>
         </androidx.core.widget.NestedScrollView>
 
 
-    </LinearLayout>
-
-</FrameLayout>
+</LinearLayout>

+ 5 - 5
app/src/main/res/layout/fragment_bookshelf1.xml

@@ -10,15 +10,15 @@
         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"
-        app:attachToActivity="false"
         android:fitsSystemWindows="true">
         android:fitsSystemWindows="true">
 
 
         <com.google.android.material.appbar.CollapsingToolbarLayout
         <com.google.android.material.appbar.CollapsingToolbarLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="120dp"
-            app:layout_scrollFlags="scroll|exitUntilCollapsed"
-            app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
-            app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
+            android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
+            style="?attr/collapsingToolbarLayoutLargeSize"
+            app:collapsedTitleTextAppearance="?attr/textAppearanceTitleLarge"
+            app:expandedTitleTextAppearance="?attr/textAppearanceHeadlineLarge"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
 
 
             <com.google.android.material.appbar.MaterialToolbar
             <com.google.android.material.appbar.MaterialToolbar
                 android:id="@+id/top_bar"
                 android:id="@+id/top_bar"

+ 18 - 24
app/src/main/res/layout/fragment_chapter_list.xml

@@ -17,10 +17,8 @@
     <LinearLayout
     <LinearLayout
         android:id="@+id/ll_chapter_base_info"
         android:id="@+id/ll_chapter_base_info"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="36dp"
-        android:paddingLeft="10dp"
-        android:paddingRight="10dp"
-        android:elevation="5dp"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="16dp"
         android:gravity="center_vertical"
         android:gravity="center_vertical"
         android:orientation="horizontal"
         android:orientation="horizontal"
         app:layout_constraintBottom_toBottomOf="parent">
         app:layout_constraintBottom_toBottomOf="parent">
@@ -30,36 +28,32 @@
             android:layout_width="0dp"
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_height="match_parent"
             android:layout_weight="1"
             android:layout_weight="1"
-            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:background="?attr/selectableItemBackground"
             android:ellipsize="middle"
             android:ellipsize="middle"
-            android:paddingLeft="10dp"
-            android:paddingRight="10dp"
             android:singleLine="true"
             android:singleLine="true"
             android:gravity="center_vertical"
             android:gravity="center_vertical"
-            android:textColor="@color/primaryText"
             android:textSize="12sp" />
             android:textSize="12sp" />
 
 
-        <androidx.appcompat.widget.AppCompatImageView
-            android:id="@+id/iv_chapter_top"
+        <com.google.android.material.button.MaterialButton
+            android:id="@+id/btn_chapter_top"
+            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
             android:layout_width="36dp"
             android:layout_width="36dp"
-            android:layout_height="match_parent"
-            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:layout_height="36dp"
+            android:icon="@drawable/ic_arrow_drop_up"
             android:contentDescription="@string/go_to_top"
             android:contentDescription="@string/go_to_top"
-            android:src="@drawable/ic_arrow_drop_up"
-            android:tooltipText="@string/go_to_top"
-            app:tint="@color/primaryText"
-            tools:ignore="UnusedAttribute" />
+            app:iconGravity="textStart"
+            app:iconPadding="0dp" />
 
 
-        <androidx.appcompat.widget.AppCompatImageView
-            android:id="@+id/iv_chapter_bottom"
+        <com.google.android.material.button.MaterialButton
+            android:id="@+id/btn_chapter_bottom"
+            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
             android:layout_width="36dp"
             android:layout_width="36dp"
-            android:layout_height="match_parent"
-            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:layout_height="36dp"
+            android:icon="@drawable/ic_arrow_drop_down"
             android:contentDescription="@string/go_to_bottom"
             android:contentDescription="@string/go_to_bottom"
-            android:src="@drawable/ic_arrow_drop_down"
-            android:tooltipText="@string/go_to_bottom"
-            app:tint="@color/primaryText"
-            tools:ignore="UnusedAttribute" />
+            app:iconGravity="textStart"
+            app:iconPadding="0dp" />
+
     </LinearLayout>
     </LinearLayout>
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 17 - 9
app/src/main/res/layout/fragment_explore.xml

@@ -14,10 +14,11 @@
 
 
         <com.google.android.material.appbar.CollapsingToolbarLayout
         <com.google.android.material.appbar.CollapsingToolbarLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="120dp"
-            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
-            app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
-            app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
+            android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
+            style="?attr/collapsingToolbarLayoutLargeSize"
+            app:collapsedTitleTextAppearance="?attr/textAppearanceTitleLarge"
+            app:expandedTitleTextAppearance="?attr/textAppearanceHeadlineLarge"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
 
 
             <com.google.android.material.appbar.MaterialToolbar
             <com.google.android.material.appbar.MaterialToolbar
                 android:id="@+id/top_bar"
                 android:id="@+id/top_bar"
@@ -28,16 +29,23 @@
 
 
         </com.google.android.material.appbar.CollapsingToolbarLayout>
         </com.google.android.material.appbar.CollapsingToolbarLayout>
 
 
-
-        <include
-            android:id="@+id/search_layout"
-            layout="@layout/view_search"
+        <com.google.android.material.search.SearchBar
+            android:id="@+id/search_bar"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginHorizontal="16dp" />
+            android:layout_marginHorizontal="16dp"
+            android:hint="@string/search_rss_source"
+            app:layout_constraintTop_toTopOf="parent" />
 
 
     </com.google.android.material.appbar.AppBarLayout>
     </com.google.android.material.appbar.AppBarLayout>
 
 
+    <com.google.android.material.search.SearchView
+        android:id="@+id/search_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:hint="@string/screen_find"
+        app:layout_constraintTop_toTopOf="parent" />
+
     <androidx.core.widget.NestedScrollView
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_height="match_parent"

+ 6 - 6
app/src/main/res/layout/fragment_my_config.xml

@@ -13,17 +13,17 @@
 
 
         <com.google.android.material.appbar.CollapsingToolbarLayout
         <com.google.android.material.appbar.CollapsingToolbarLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="120dp"
-            app:layout_scrollFlags="scroll|exitUntilCollapsed"
-            app:title="@string/my"
-            app:titleEnabled="true"
-            app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
-            app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
+            android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
+            style="?attr/collapsingToolbarLayoutLargeSize"
+            app:collapsedTitleTextAppearance="?attr/textAppearanceTitleLarge"
+            app:expandedTitleTextAppearance="?attr/textAppearanceHeadlineLarge"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
 
 
             <com.google.android.material.appbar.MaterialToolbar
             <com.google.android.material.appbar.MaterialToolbar
                 android:id="@+id/top_bar"
                 android:id="@+id/top_bar"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="?attr/actionBarSize"
                 android:layout_height="?attr/actionBarSize"
+                app:title="@string/my"
                 app:layout_collapseMode="pin" />
                 app:layout_collapseMode="pin" />
 
 
         </com.google.android.material.appbar.CollapsingToolbarLayout>
         </com.google.android.material.appbar.CollapsingToolbarLayout>

+ 16 - 9
app/src/main/res/layout/fragment_rss.xml

@@ -14,11 +14,11 @@
 
 
         <com.google.android.material.appbar.CollapsingToolbarLayout
         <com.google.android.material.appbar.CollapsingToolbarLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="120dp"
-            android:fitsSystemWindows="true"
-            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
-            app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
-            app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
+            android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
+            style="?attr/collapsingToolbarLayoutLargeSize"
+            app:collapsedTitleTextAppearance="?attr/textAppearanceTitleLarge"
+            app:expandedTitleTextAppearance="?attr/textAppearanceHeadlineLarge"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
 
 
             <com.google.android.material.appbar.MaterialToolbar
             <com.google.android.material.appbar.MaterialToolbar
                 android:id="@+id/top_bar"
                 android:id="@+id/top_bar"
@@ -29,15 +29,22 @@
 
 
         </com.google.android.material.appbar.CollapsingToolbarLayout>
         </com.google.android.material.appbar.CollapsingToolbarLayout>
 
 
-        <include
-            android:id="@+id/search_layout"
-            layout="@layout/view_search"
+        <com.google.android.material.search.SearchBar
+            android:id="@+id/search_bar"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginHorizontal="16dp" />
+            android:layout_marginHorizontal="16dp"
+            android:hint="@string/search_rss_source"
+            app:layout_constraintTop_toTopOf="parent" />
 
 
     </com.google.android.material.appbar.AppBarLayout>
     </com.google.android.material.appbar.AppBarLayout>
 
 
+    <com.google.android.material.search.SearchView
+        android:id="@+id/search_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
     <androidx.core.widget.NestedScrollView
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_height="match_parent"

+ 7 - 8
app/src/main/res/layout/item_bookmark.xml

@@ -3,29 +3,28 @@
     android:orientation="vertical"
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
-    android:padding="8dp"
-    android:background="?android:attr/selectableItemBackground">
+    android:paddingHorizontal="16dp"
+    android:paddingVertical="8dp"
+    android:background="?attr/selectableItemBackground">
 
 
     <TextView
     <TextView
         android:id="@+id/tv_chapter_name"
         android:id="@+id/tv_chapter_name"
+        style="@style/ChapterNameText"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="4dp"
-        android:singleLine="true" />
+        android:layout_height="wrap_content" />
 
 
     <TextView
     <TextView
         android:id="@+id/tv_book_text"
         android:id="@+id/tv_book_text"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:padding="4dp"
-        android:textSize="12sp"
+        android:paddingBottom="4dp"
+        android:textSize="14sp"
         android:singleLine="true" />
         android:singleLine="true" />
 
 
     <TextView
     <TextView
         android:id="@+id/tv_content"
         android:id="@+id/tv_content"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:padding="4dp"
         android:textSize="12sp"
         android:textSize="12sp"
         android:singleLine="true" />
         android:singleLine="true" />
 
 

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

@@ -29,7 +29,7 @@
                 <io.legado.app.ui.widget.image.CoverImageView
                 <io.legado.app.ui.widget.image.CoverImageView
                     android:id="@+id/iv_cover"
                     android:id="@+id/iv_cover"
                     android:layout_width="match_parent"
                     android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
+                    android:layout_height="match_parent"
                     android:layout_margin="8dp"
                     android:layout_margin="8dp"
                     android:scaleType="centerCrop"
                     android:scaleType="centerCrop"
                     android:src="@drawable/image_cover_default"
                     android:src="@drawable/image_cover_default"

+ 8 - 4
app/src/main/res/layout/item_chapter_list.xml

@@ -7,7 +7,8 @@
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
     android:background="?android:attr/selectableItemBackground"
     android:background="?android:attr/selectableItemBackground"
     android:orientation="vertical"
     android:orientation="vertical"
-    android:padding="12dp">
+    android:paddingHorizontal="16dp"
+    android:paddingVertical="8dp">
 
 
     <ImageView
     <ImageView
         android:id="@+id/iv_locked"
         android:id="@+id/iv_locked"
@@ -19,12 +20,14 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintTop_toTopOf="parent"
-        app:tint="@color/secondaryText" />
+        tools:ignore="RtlSymmetry" />
 
 
     <TextView
     <TextView
         android:id="@+id/tv_chapter_name"
         android:id="@+id/tv_chapter_name"
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
+        android:textSize="13sp"
+        android:textStyle="bold"
         android:singleLine="true"
         android:singleLine="true"
         app:layout_constraintBottom_toTopOf="@id/barrier"
         app:layout_constraintBottom_toTopOf="@id/barrier"
         app:layout_constraintLeft_toRightOf="@+id/iv_locked"
         app:layout_constraintLeft_toRightOf="@+id/iv_locked"
@@ -42,6 +45,7 @@
         android:id="@+id/tv_word_count"
         android:id="@+id/tv_word_count"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_marginTop="4dp"
         android:paddingEnd="18dp"
         android:paddingEnd="18dp"
         android:singleLine="true"
         android:singleLine="true"
         android:textSize="12sp"
         android:textSize="12sp"
@@ -55,6 +59,7 @@
         android:id="@+id/tv_tag"
         android:id="@+id/tv_tag"
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_marginTop="4dp"
         android:singleLine="true"
         android:singleLine="true"
         android:textSize="12sp"
         android:textSize="12sp"
         android:visibility="gone"
         android:visibility="gone"
@@ -73,7 +78,6 @@
         android:visibility="invisible"
         android:visibility="invisible"
         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:tint="@color/secondaryText" />
+        app:layout_constraintTop_toTopOf="parent" />
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>
 </androidx.constraintlayout.widget.ConstraintLayout>

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

@@ -10,11 +10,9 @@
         android:id="@+id/tv_title"
         android:id="@+id/tv_title"
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:layout_height="0dp"
-        android:maxLines="2"
+        style="@style/ChapterNameText"
         android:ellipsize="end"
         android:ellipsize="end"
         android:text="@string/app_name"
         android:text="@string/app_name"
-        android:textSize="16sp"
-        android:textStyle="bold"
         app:layout_constraintBottom_toTopOf="@+id/tv_pub_date"
         app:layout_constraintBottom_toTopOf="@+id/tv_pub_date"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/image_view"
         app:layout_constraintRight_toLeftOf="@+id/image_view"

+ 10 - 3
app/src/main/res/layout/item_search.xml

@@ -77,11 +77,18 @@
             android:textSize="12sp" />
             android:textSize="12sp" />
 
 
         <!-- 分类标签 -->
         <!-- 分类标签 -->
-        <io.legado.app.ui.widget.LabelsBar
-            android:id="@+id/ll_kind"
+        <HorizontalScrollView
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="horizontal" />
+            android:scrollbars="none">
+
+            <io.legado.app.ui.widget.LabelsBar
+                android:id="@+id/ll_kind"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal" />
+
+        </HorizontalScrollView>
 
 
         <!-- 最后阅读 -->
         <!-- 最后阅读 -->
         <TextView
         <TextView

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

@@ -13,8 +13,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" />
 
 
 
 
     <androidx.appcompat.widget.AppCompatImageView
     <androidx.appcompat.widget.AppCompatImageView
@@ -25,8 +24,7 @@
         android:background="?android:attr/selectableItemBackgroundBorderless"
         android:background="?android:attr/selectableItemBackgroundBorderless"
         android:contentDescription="@string/edit"
         android:contentDescription="@string/edit"
         android:padding="6dp"
         android:padding="6dp"
-        android:src="@drawable/ic_edit"
-        android:tint="@color/primaryText" />
+        android:src="@drawable/ic_edit" />
 
 
     <androidx.appcompat.widget.AppCompatImageView
     <androidx.appcompat.widget.AppCompatImageView
         android:id="@+id/iv_delete"
         android:id="@+id/iv_delete"
@@ -34,8 +32,7 @@
         android:layout_height="36dp"
         android:layout_height="36dp"
         android:padding="6dp"
         android:padding="6dp"
         android:background="?attr/selectableItemBackgroundBorderless"
         android:background="?attr/selectableItemBackgroundBorderless"
-        android:src="@drawable/ic_outline_delete"
-        android:tint="@color/primaryText"
+        android:src="@drawable/ic_clear_all"
         android:contentDescription="@string/delete"
         android:contentDescription="@string/delete"
         tools:ignore="RtlHardcoded" />
         tools:ignore="RtlHardcoded" />
 
 

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

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout 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:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
     android:background="?attr/selectableItemBackground"
     android:background="?attr/selectableItemBackground"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
@@ -22,6 +23,7 @@
         android:paddingTop="1dp"
         android:paddingTop="1dp"
         android:layout_width="30dp"
         android:layout_width="30dp"
         android:layout_height="30dp"
         android:layout_height="30dp"
+        app:tint="?attr/colorPrimary"
         tools:ignore="ContentDescription,RtlHardcoded" />
         tools:ignore="ContentDescription,RtlHardcoded" />
 
 
     <LinearLayout
     <LinearLayout

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

@@ -6,16 +6,14 @@
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
     android:orientation="vertical" >
     android:orientation="vertical" >
 
 
-
     <TextView
     <TextView
         android:id="@+id/preference_title"
         android:id="@+id/preference_title"
         android:paddingTop="16dp"
         android:paddingTop="16dp"
-        android:paddingBottom="8dp"
-        android:paddingLeft="16dp"
+        android:paddingBottom="4dp"
+        android:paddingStart="16dp"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="?attr/colorPrimary"
         android:textColor="?attr/colorPrimary"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
 
-
 </LinearLayout>
 </LinearLayout>

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

@@ -113,8 +113,7 @@
             android:layout_height="24dp"
             android:layout_height="24dp"
             android:layout_margin="8dp"
             android:layout_margin="8dp"
             android:contentDescription="@string/adjust_pos"
             android:contentDescription="@string/adjust_pos"
-            android:src="@drawable/ic_swap_horiz"
-            app:tint="@color/white" />
+            android:src="@drawable/ic_swap_horiz" />
 
 
     </LinearLayout>
     </LinearLayout>
 
 

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

@@ -3,4 +3,5 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/tab_layout"
     android:id="@+id/tab_layout"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" />
+    android:layout_height="match_parent"
+    android:background="@color/transparent"/>

+ 1 - 1
app/src/main/res/menu/book_manga.xml

@@ -13,7 +13,7 @@
 
 
         <item
         <item
             android:id="@+id/menu_refresh"
             android:id="@+id/menu_refresh"
-            android:icon="@drawable/ic_refresh_black_24dp"
+            android:icon="@drawable/ic_refresh"
             android:title="@string/refresh"
             android:title="@string/refresh"
             app:showAsAction="always" />
             app:showAsAction="always" />
 
 

+ 1 - 1
app/src/main/res/menu/book_read.xml

@@ -13,7 +13,7 @@
 
 
         <item
         <item
             android:id="@+id/menu_refresh"
             android:id="@+id/menu_refresh"
-            android:icon="@drawable/ic_refresh_black_24dp"
+            android:icon="@drawable/ic_refresh"
             android:title="@string/refresh"
             android:title="@string/refresh"
             app:showAsAction="always" />
             app:showAsAction="always" />
 
 

+ 1 - 1
app/src/main/res/menu/book_remote.xml

@@ -6,7 +6,7 @@
 
 
     <item
     <item
         android:id="@+id/menu_refresh"
         android:id="@+id/menu_refresh"
-        android:icon="@drawable/ic_refresh_black_24dp"
+        android:icon="@drawable/ic_refresh"
         android:title="@string/refresh"
         android:title="@string/refresh"
         app:showAsAction="always" />
         app:showAsAction="always" />
     <item
     <item

+ 1 - 1
app/src/main/res/menu/change_cover.xml

@@ -6,7 +6,7 @@
     <item
     <item
         android:id="@+id/menu_start_stop"
         android:id="@+id/menu_start_stop"
         android:title="@string/stop"
         android:title="@string/stop"
-        android:icon="@drawable/ic_refresh_white_24dp"
+        android:icon="@drawable/ic_refresh"
         app:showAsAction="always"
         app:showAsAction="always"
         tools:ignore="AlwaysShowAction" />
         tools:ignore="AlwaysShowAction" />
 
 

+ 1 - 1
app/src/main/res/menu/change_source.xml

@@ -14,7 +14,7 @@
     <item
     <item
         android:id="@+id/menu_start_stop"
         android:id="@+id/menu_start_stop"
         android:title="@string/stop"
         android:title="@string/stop"
-        android:icon="@drawable/ic_refresh_white_24dp"
+        android:icon="@drawable/ic_refresh"
         app:showAsAction="always"
         app:showAsAction="always"
         tools:ignore="AlwaysShowAction" />
         tools:ignore="AlwaysShowAction" />
 
 

+ 1 - 1
app/src/main/res/menu/main_bookshelf.xml

@@ -12,7 +12,7 @@
 
 
     <item
     <item
         android:id="@+id/menu_update_toc"
         android:id="@+id/menu_update_toc"
-        android:icon="@drawable/ic_refresh_black_24dp"
+        android:icon="@drawable/ic_refresh"
         android:title="@string/update_toc"
         android:title="@string/update_toc"
         app:showAsAction="never" />
         app:showAsAction="never" />
 
 

+ 6 - 0
app/src/main/res/menu/main_rss.xml

@@ -3,6 +3,12 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     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">
 
 
+    <item
+        android:id="@+id/menu_rss_search"
+        android:title="@string/search"
+        android:icon="@drawable/ic_search"
+        app:showAsAction="always" />
+
     <item
     <item
         android:id="@+id/menu_rss_star"
         android:id="@+id/menu_rss_star"
         android:title="@string/favorite"
         android:title="@string/favorite"

+ 2 - 2
app/src/main/res/menu/rss_read.xml

@@ -4,13 +4,13 @@
     <item
     <item
         android:id="@+id/menu_rss_refresh"
         android:id="@+id/menu_rss_refresh"
         android:title="@string/refresh"
         android:title="@string/refresh"
-        android:icon="@drawable/ic_refresh_black_24dp"
+        android:icon="@drawable/ic_refresh"
         app:showAsAction="always" />
         app:showAsAction="always" />
 
 
     <item
     <item
         android:id="@+id/menu_rss_star"
         android:id="@+id/menu_rss_star"
         android:title="@string/favorite"
         android:title="@string/favorite"
-        android:icon="@drawable/ic_star_border"
+        android:icon="@drawable/ic_star"
         app:showAsAction="always" />
         app:showAsAction="always" />
 
 
     <item
     <item

+ 12 - 6
app/src/main/res/values/styles.xml

@@ -74,6 +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>-->
     </style>
     </style>
 
 
     <style name="Widget.App.TabLayout" parent="Widget.Material3.TabLayout">
     <style name="Widget.App.TabLayout" parent="Widget.Material3.TabLayout">
@@ -97,7 +98,6 @@
         <item name="textAllCaps">false</item>
         <item name="textAllCaps">false</item>
         <item name="android:textAllCaps">false</item>
         <item name="android:textAllCaps">false</item>
         <item name="android:textSize">15sp</item>
         <item name="android:textSize">15sp</item>
-        <item name="android:fontFamily">sans-serif</item>
         <item name="android:textFontWeight" tools:targetApi="p">500</item>
         <item name="android:textFontWeight" tools:targetApi="p">500</item>
     </style>
     </style>
 
 
@@ -113,12 +113,18 @@
         <item name="android:windowLightStatusBar">false</item>
         <item name="android:windowLightStatusBar">false</item>
     </style>
     </style>
 
 
-<!--    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.Material3">-->
-<!--        <item name="overlapAnchor">false</item>-->
-<!--        <item name="colorAccent">@color/md_grey_900</item>-->
-<!--    </style>-->
+    <style name="CollapsingToolbar" parent="Widget.Material3.CollapsingToolbar">
+        <item name="titleCollapseMode">scale</item>
+        <item name="contentScrim">?attr/colorSurfaceContainer</item>
+    </style>
+
+    <style name="ChapterNameText">
+        <item name="android:textSize">16sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:paddingBottom">4dp</item>
+        <item name="android:maxLines">2</item>
+    </style>
 
 
-<!--    <style name="Spinner" parent="android:Widget" />-->
 
 
     //**********System Style******************//
     //**********System Style******************//
 
 

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä