更新依赖

更新部分界面
This commit is contained in:
HapeLee
2025-07-22 14:10:12 +08:00
parent 82a2aa349e
commit 781615c777
31 changed files with 126 additions and 101 deletions
@@ -15,7 +15,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.card.MaterialCardView
import io.legato.kazusa.R
import androidx.core.graphics.toColorInt
import io.legato.kazusa.constant.EventBus
import io.legato.kazusa.utils.postEvent
@@ -106,7 +105,7 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co
com.google.android.material.R.attr.colorSecondaryContainer,
com.google.android.material.R.attr.colorSecondaryVariant,
com.google.android.material.R.attr.colorSurfaceContainer,
com.google.android.material.R.attr.colorPrimary,
androidx.appcompat.R.attr.colorPrimary,
com.google.android.material.R.attr.colorOnSurfaceVariant,
com.google.android.material.R.attr.colorSurface,
com.google.android.material.R.attr.colorSecondaryContainer,
@@ -34,7 +34,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
val typedValue = TypedValue()
val context = binding.root.context
context.theme.resolveAttribute(
com.google.android.material.R.attr.colorPrimary,
androidx.appcompat.R.attr.colorPrimary,
typedValue,
true
)
@@ -29,7 +29,8 @@ class BookmarkDecoration(
private val textPaint = TextPaint().apply {
textSize = 16f.spToPx()
color = MaterialColors.getColor(context, com.google.android.material.R.attr.colorPrimary, Color.BLACK)
color =
MaterialColors.getColor(context, androidx.appcompat.R.attr.colorPrimary, Color.BLACK)
isAntiAlias = true
}
@@ -1,11 +1,11 @@
package io.legato.kazusa.ui.book.changesource
//import io.legado.app.lib.theme.getPrimaryTextColor
//import io.legado.app.lib.theme.primaryColor
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.ImageButton
import androidx.appcompat.widget.SearchView
import androidx.appcompat.widget.Toolbar
import androidx.core.os.bundleOf
@@ -18,7 +18,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import io.legato.kazusa.R
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
import io.legato.kazusa.base.BaseDialogFragment
import io.legato.kazusa.constant.AppLog
import io.legato.kazusa.constant.EventBus
import io.legato.kazusa.data.appDb
@@ -29,8 +28,6 @@ import io.legato.kazusa.data.entities.SearchBook
import io.legato.kazusa.databinding.DialogBookChangeSourceBinding
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.lib.dialogs.alert
//import io.legado.app.lib.theme.getPrimaryTextColor
//import io.legado.app.lib.theme.primaryColor
import io.legato.kazusa.ui.book.read.ReadBookActivity
import io.legato.kazusa.ui.book.source.edit.BookSourceEditActivity
import io.legato.kazusa.ui.book.source.manage.BookSourceActivity
@@ -41,7 +38,6 @@ import io.legato.kazusa.utils.applyTint
import io.legato.kazusa.utils.dpToPx
import io.legato.kazusa.utils.getCompatDrawable
import io.legato.kazusa.utils.observeEvent
import io.legato.kazusa.utils.setLayout
import io.legato.kazusa.utils.startActivity
import io.legato.kazusa.utils.transaction
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
@@ -95,11 +91,6 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
}
}
override fun onStart() {
super.onStart()
//setLayout(1f, ViewGroup.LayoutParams.MATCH_PARENT)
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
//binding.toolBar.setBackgroundColor(primaryColor)
viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
@@ -234,6 +225,10 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
repeatOnLifecycle(STARTED) {
viewModel.searchDataFlow.conflate().collect {
adapter.setItems(it)
binding.loadingIndicator.isVisible = it.isEmpty()
binding.recyclerView.isVisible = it.isNotEmpty()
delay(1000)
}
}
@@ -33,7 +33,7 @@ class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
val isDur = durChapterIndex == item.index
if (isDur) {
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorPrimary))
tvChapterName.setTextColor(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
} else {
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
}
@@ -152,8 +152,6 @@ class MangaAdapter(private val context: Context) :
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return when {
viewType >= TYPE_FOOTER_VIEW -> {
@@ -265,7 +265,7 @@ class ReadMenu @JvmOverloads constructor(
fun upBrightnessState() {
if (brightnessAuto()) {
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorPrimary))
binding.ivBrightnessAuto.setColorFilter(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
binding.seekBrightness.isEnabled = false
} else {
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
@@ -1,13 +1,11 @@
package io.legato.kazusa.ui.book.read.page
import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.os.SystemClock
import androidx.core.graphics.withClip
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.config.ReadBookConfig
import io.legato.kazusa.lib.theme.ThemeStore
import io.legato.kazusa.ui.book.read.page.entities.PageDirection
import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded
@@ -31,7 +29,7 @@ class AutoPager(
fun start() {
isRunning = true
paint.color = readView.context.themeColor(com.google.android.material.R.attr.colorPrimary)
paint.color = readView.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
lastTimeMillis = SystemClock.uptimeMillis()
readView.curPage.upSelectAble(false)
readView.invalidate()
@@ -9,7 +9,6 @@ import io.legato.kazusa.help.PaintPool
import io.legato.kazusa.help.book.isImage
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.config.ReadBookConfig
import io.legato.kazusa.lib.theme.ThemeStore
import io.legato.kazusa.model.ReadBook
import io.legato.kazusa.ui.book.read.page.ContentTextView
import io.legato.kazusa.ui.book.read.page.entities.TextPage.Companion.emptyTextPage
@@ -174,7 +173,7 @@ data class TextLine(
ChapterProvider.contentPaint
}
val textColor = if (isReadAloud) {
view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
} else {
ReadBookConfig.textColor
}
@@ -242,7 +241,7 @@ data class TextLine(
@SuppressLint("NewApi")
companion object {
val emptyTextLine = TextLine()
private val atLeastApi26 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
private val atLeastApi26 = true
private val atLeastApi35 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
private val wordSpacingWorking by lazy {
// issue 3785 3846
@@ -4,7 +4,6 @@ import android.graphics.Canvas
import android.os.Build
import androidx.annotation.Keep
import io.legato.kazusa.help.config.ReadBookConfig
import io.legato.kazusa.lib.theme.ThemeStore
import io.legato.kazusa.ui.book.read.page.ContentTextView
import io.legato.kazusa.ui.book.read.page.entities.TextLine
import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine
@@ -50,7 +49,7 @@ data class TextColumn(
ChapterProvider.contentPaint
}
val textColor = if (textLine.isReadAloud || isSearchResult) {
view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
} else {
ReadBookConfig.textColor
}
@@ -1,13 +1,11 @@
package io.legato.kazusa.ui.book.searchContent
//import io.legado.app.lib.theme.accentColor
import android.content.Context
import android.view.ViewGroup
import io.legato.kazusa.R
import io.legato.kazusa.base.adapter.ItemViewHolder
import io.legato.kazusa.base.adapter.RecyclerAdapter
import io.legato.kazusa.databinding.ItemSearchListBinding
//import io.legado.app.lib.theme.accentColor
import io.legato.kazusa.utils.getCompatColor
import io.legato.kazusa.utils.hexString
import io.legato.kazusa.utils.themeColor
@@ -16,7 +14,8 @@ class SearchContentAdapter(context: Context, val callback: Callback) :
RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2)
val accentColor = context.themeColor(com.google.android.material.R.attr.colorPrimary).hexString.substring(2)
val accentColor =
context.themeColor(androidx.appcompat.R.attr.colorPrimary).hexString.substring(2)
override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
return ItemSearchListBinding.inflate(inflater, parent, false)
@@ -9,7 +9,7 @@ import io.legato.kazusa.R
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
import io.legato.kazusa.data.entities.DictRule
import io.legato.kazusa.databinding.DialogDictBinding
import io.legato.kazusa.utils.invisible
import io.legato.kazusa.utils.gone
import io.legato.kazusa.utils.setHtml
import io.legato.kazusa.utils.toastOnUi
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
@@ -53,7 +53,7 @@ class DictDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_dict) {
val dictRule = tab.tag as DictRule
binding.rotateLoading.visible()
viewModel.dict(dictRule, word!!) {
binding.rotateLoading.invisible()
binding.rotateLoading.gone()
binding.tvDict.setHtml(it)
}
}
@@ -1,5 +1,6 @@
package io.legato.kazusa.ui.widget.recycler.scroller
//import io.legado.app.lib.theme.accentColor
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.annotation.SuppressLint
@@ -11,7 +12,11 @@ import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.view.ViewPropertyAnimator
import android.widget.*
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.annotation.ColorInt
import androidx.annotation.IdRes
import androidx.constraintlayout.widget.ConstraintLayout
@@ -20,13 +25,11 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.core.view.GravityCompat
import androidx.core.view.ViewCompat
import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import io.legato.kazusa.R
//import io.legado.app.lib.theme.accentColor
import kotlin.math.max
import kotlin.math.min
import kotlin.math.roundToInt
@@ -502,7 +505,7 @@ class FastScroller : LinearLayout {
mScrollbar = findViewById(R.id.fastscroll_scrollbar)
mHandleImage = mHandleView.drawable?.mutate()
val typedValue = TypedValue()
context.theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue, true)
context.theme.resolveAttribute(androidx.appcompat.R.attr.colorPrimary, typedValue, true)
val defaultColor = typedValue.data
var bubbleColor = defaultColor
var handleColor = defaultColor