更新依赖
更新部分界面
This commit is contained in:
@@ -186,7 +186,6 @@ dependencies {
|
|||||||
//noinspection GradleDependency,DifferentStdlibGradleVersion
|
//noinspection GradleDependency,DifferentStdlibGradleVersion
|
||||||
//implementation(libs.kotlin.reflect)
|
//implementation(libs.kotlin.reflect)
|
||||||
|
|
||||||
|
|
||||||
//协程
|
//协程
|
||||||
//def coroutines_version = '1.7.3'
|
//def coroutines_version = '1.7.3'
|
||||||
implementation(libs.bundles.coroutines)
|
implementation(libs.bundles.coroutines)
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.google.android.material.card.MaterialCardView
|
import com.google.android.material.card.MaterialCardView
|
||||||
import io.legato.kazusa.R
|
import io.legato.kazusa.R
|
||||||
import androidx.core.graphics.toColorInt
|
|
||||||
import io.legato.kazusa.constant.EventBus
|
import io.legato.kazusa.constant.EventBus
|
||||||
import io.legato.kazusa.utils.postEvent
|
import io.legato.kazusa.utils.postEvent
|
||||||
|
|
||||||
@@ -106,7 +105,7 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co
|
|||||||
com.google.android.material.R.attr.colorSecondaryContainer,
|
com.google.android.material.R.attr.colorSecondaryContainer,
|
||||||
com.google.android.material.R.attr.colorSecondaryVariant,
|
com.google.android.material.R.attr.colorSecondaryVariant,
|
||||||
com.google.android.material.R.attr.colorSurfaceContainer,
|
com.google.android.material.R.attr.colorSurfaceContainer,
|
||||||
com.google.android.material.R.attr.colorPrimary,
|
androidx.appcompat.R.attr.colorPrimary,
|
||||||
com.google.android.material.R.attr.colorOnSurfaceVariant,
|
com.google.android.material.R.attr.colorOnSurfaceVariant,
|
||||||
com.google.android.material.R.attr.colorSurface,
|
com.google.android.material.R.attr.colorSurface,
|
||||||
com.google.android.material.R.attr.colorSecondaryContainer,
|
com.google.android.material.R.attr.colorSecondaryContainer,
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
|
|||||||
val typedValue = TypedValue()
|
val typedValue = TypedValue()
|
||||||
val context = binding.root.context
|
val context = binding.root.context
|
||||||
context.theme.resolveAttribute(
|
context.theme.resolveAttribute(
|
||||||
com.google.android.material.R.attr.colorPrimary,
|
androidx.appcompat.R.attr.colorPrimary,
|
||||||
typedValue,
|
typedValue,
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -29,7 +29,8 @@ class BookmarkDecoration(
|
|||||||
|
|
||||||
private val textPaint = TextPaint().apply {
|
private val textPaint = TextPaint().apply {
|
||||||
textSize = 16f.spToPx()
|
textSize = 16f.spToPx()
|
||||||
color = MaterialColors.getColor(context, com.google.android.material.R.attr.colorPrimary, Color.BLACK)
|
color =
|
||||||
|
MaterialColors.getColor(context, androidx.appcompat.R.attr.colorPrimary, Color.BLACK)
|
||||||
isAntiAlias = true
|
isAntiAlias = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package io.legato.kazusa.ui.book.changesource
|
package io.legato.kazusa.ui.book.changesource
|
||||||
|
|
||||||
|
//import io.legado.app.lib.theme.getPrimaryTextColor
|
||||||
|
//import io.legado.app.lib.theme.primaryColor
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.ImageButton
|
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.core.os.bundleOf
|
import androidx.core.os.bundleOf
|
||||||
@@ -18,7 +18,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import io.legato.kazusa.R
|
import io.legato.kazusa.R
|
||||||
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
|
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
|
||||||
import io.legato.kazusa.base.BaseDialogFragment
|
|
||||||
import io.legato.kazusa.constant.AppLog
|
import io.legato.kazusa.constant.AppLog
|
||||||
import io.legato.kazusa.constant.EventBus
|
import io.legato.kazusa.constant.EventBus
|
||||||
import io.legato.kazusa.data.appDb
|
import io.legato.kazusa.data.appDb
|
||||||
@@ -29,8 +28,6 @@ import io.legato.kazusa.data.entities.SearchBook
|
|||||||
import io.legato.kazusa.databinding.DialogBookChangeSourceBinding
|
import io.legato.kazusa.databinding.DialogBookChangeSourceBinding
|
||||||
import io.legato.kazusa.help.config.AppConfig
|
import io.legato.kazusa.help.config.AppConfig
|
||||||
import io.legato.kazusa.lib.dialogs.alert
|
import io.legato.kazusa.lib.dialogs.alert
|
||||||
//import io.legado.app.lib.theme.getPrimaryTextColor
|
|
||||||
//import io.legado.app.lib.theme.primaryColor
|
|
||||||
import io.legato.kazusa.ui.book.read.ReadBookActivity
|
import io.legato.kazusa.ui.book.read.ReadBookActivity
|
||||||
import io.legato.kazusa.ui.book.source.edit.BookSourceEditActivity
|
import io.legato.kazusa.ui.book.source.edit.BookSourceEditActivity
|
||||||
import io.legato.kazusa.ui.book.source.manage.BookSourceActivity
|
import io.legato.kazusa.ui.book.source.manage.BookSourceActivity
|
||||||
@@ -41,7 +38,6 @@ import io.legato.kazusa.utils.applyTint
|
|||||||
import io.legato.kazusa.utils.dpToPx
|
import io.legato.kazusa.utils.dpToPx
|
||||||
import io.legato.kazusa.utils.getCompatDrawable
|
import io.legato.kazusa.utils.getCompatDrawable
|
||||||
import io.legato.kazusa.utils.observeEvent
|
import io.legato.kazusa.utils.observeEvent
|
||||||
import io.legato.kazusa.utils.setLayout
|
|
||||||
import io.legato.kazusa.utils.startActivity
|
import io.legato.kazusa.utils.startActivity
|
||||||
import io.legato.kazusa.utils.transaction
|
import io.legato.kazusa.utils.transaction
|
||||||
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
||||||
@@ -95,11 +91,6 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
//setLayout(1f, ViewGroup.LayoutParams.MATCH_PARENT)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
//binding.toolBar.setBackgroundColor(primaryColor)
|
//binding.toolBar.setBackgroundColor(primaryColor)
|
||||||
viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
|
viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
|
||||||
@@ -234,6 +225,10 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
|
|||||||
repeatOnLifecycle(STARTED) {
|
repeatOnLifecycle(STARTED) {
|
||||||
viewModel.searchDataFlow.conflate().collect {
|
viewModel.searchDataFlow.conflate().collect {
|
||||||
adapter.setItems(it)
|
adapter.setItems(it)
|
||||||
|
|
||||||
|
binding.loadingIndicator.isVisible = it.isEmpty()
|
||||||
|
binding.recyclerView.isVisible = it.isNotEmpty()
|
||||||
|
|
||||||
delay(1000)
|
delay(1000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
|
|||||||
val isDur = durChapterIndex == item.index
|
val isDur = durChapterIndex == item.index
|
||||||
|
|
||||||
if (isDur) {
|
if (isDur) {
|
||||||
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorPrimary))
|
tvChapterName.setTextColor(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
|
||||||
} else {
|
} else {
|
||||||
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
|
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,8 +152,6 @@ class MangaAdapter(private val context: Context) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||||
return when {
|
return when {
|
||||||
viewType >= TYPE_FOOTER_VIEW -> {
|
viewType >= TYPE_FOOTER_VIEW -> {
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ class ReadMenu @JvmOverloads constructor(
|
|||||||
|
|
||||||
fun upBrightnessState() {
|
fun upBrightnessState() {
|
||||||
if (brightnessAuto()) {
|
if (brightnessAuto()) {
|
||||||
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorPrimary))
|
binding.ivBrightnessAuto.setColorFilter(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
|
||||||
binding.seekBrightness.isEnabled = false
|
binding.seekBrightness.isEnabled = false
|
||||||
} else {
|
} else {
|
||||||
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
|
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
package io.legato.kazusa.ui.book.read.page
|
package io.legato.kazusa.ui.book.read.page
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
import android.os.SystemClock
|
import android.os.SystemClock
|
||||||
import androidx.core.graphics.withClip
|
import androidx.core.graphics.withClip
|
||||||
import io.legato.kazusa.help.config.AppConfig
|
import io.legato.kazusa.help.config.AppConfig
|
||||||
import io.legato.kazusa.help.config.ReadBookConfig
|
import io.legato.kazusa.help.config.ReadBookConfig
|
||||||
import io.legato.kazusa.lib.theme.ThemeStore
|
|
||||||
import io.legato.kazusa.ui.book.read.page.entities.PageDirection
|
import io.legato.kazusa.ui.book.read.page.entities.PageDirection
|
||||||
import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
|
import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
|
||||||
import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded
|
import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded
|
||||||
@@ -31,7 +29,7 @@ class AutoPager(
|
|||||||
|
|
||||||
fun start() {
|
fun start() {
|
||||||
isRunning = true
|
isRunning = true
|
||||||
paint.color = readView.context.themeColor(com.google.android.material.R.attr.colorPrimary)
|
paint.color = readView.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
|
||||||
lastTimeMillis = SystemClock.uptimeMillis()
|
lastTimeMillis = SystemClock.uptimeMillis()
|
||||||
readView.curPage.upSelectAble(false)
|
readView.curPage.upSelectAble(false)
|
||||||
readView.invalidate()
|
readView.invalidate()
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import io.legato.kazusa.help.PaintPool
|
|||||||
import io.legato.kazusa.help.book.isImage
|
import io.legato.kazusa.help.book.isImage
|
||||||
import io.legato.kazusa.help.config.AppConfig
|
import io.legato.kazusa.help.config.AppConfig
|
||||||
import io.legato.kazusa.help.config.ReadBookConfig
|
import io.legato.kazusa.help.config.ReadBookConfig
|
||||||
import io.legato.kazusa.lib.theme.ThemeStore
|
|
||||||
import io.legato.kazusa.model.ReadBook
|
import io.legato.kazusa.model.ReadBook
|
||||||
import io.legato.kazusa.ui.book.read.page.ContentTextView
|
import io.legato.kazusa.ui.book.read.page.ContentTextView
|
||||||
import io.legato.kazusa.ui.book.read.page.entities.TextPage.Companion.emptyTextPage
|
import io.legato.kazusa.ui.book.read.page.entities.TextPage.Companion.emptyTextPage
|
||||||
@@ -174,7 +173,7 @@ data class TextLine(
|
|||||||
ChapterProvider.contentPaint
|
ChapterProvider.contentPaint
|
||||||
}
|
}
|
||||||
val textColor = if (isReadAloud) {
|
val textColor = if (isReadAloud) {
|
||||||
view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
|
view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
|
||||||
} else {
|
} else {
|
||||||
ReadBookConfig.textColor
|
ReadBookConfig.textColor
|
||||||
}
|
}
|
||||||
@@ -242,7 +241,7 @@ data class TextLine(
|
|||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
companion object {
|
companion object {
|
||||||
val emptyTextLine = TextLine()
|
val emptyTextLine = TextLine()
|
||||||
private val atLeastApi26 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
private val atLeastApi26 = true
|
||||||
private val atLeastApi35 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
|
private val atLeastApi35 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
|
||||||
private val wordSpacingWorking by lazy {
|
private val wordSpacingWorking by lazy {
|
||||||
// issue 3785 3846
|
// issue 3785 3846
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import android.graphics.Canvas
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import io.legato.kazusa.help.config.ReadBookConfig
|
import io.legato.kazusa.help.config.ReadBookConfig
|
||||||
import io.legato.kazusa.lib.theme.ThemeStore
|
|
||||||
import io.legato.kazusa.ui.book.read.page.ContentTextView
|
import io.legato.kazusa.ui.book.read.page.ContentTextView
|
||||||
import io.legato.kazusa.ui.book.read.page.entities.TextLine
|
import io.legato.kazusa.ui.book.read.page.entities.TextLine
|
||||||
import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine
|
import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine
|
||||||
@@ -50,7 +49,7 @@ data class TextColumn(
|
|||||||
ChapterProvider.contentPaint
|
ChapterProvider.contentPaint
|
||||||
}
|
}
|
||||||
val textColor = if (textLine.isReadAloud || isSearchResult) {
|
val textColor = if (textLine.isReadAloud || isSearchResult) {
|
||||||
view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
|
view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
|
||||||
} else {
|
} else {
|
||||||
ReadBookConfig.textColor
|
ReadBookConfig.textColor
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
package io.legato.kazusa.ui.book.searchContent
|
package io.legato.kazusa.ui.book.searchContent
|
||||||
|
|
||||||
|
//import io.legado.app.lib.theme.accentColor
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import io.legato.kazusa.R
|
|
||||||
import io.legato.kazusa.base.adapter.ItemViewHolder
|
import io.legato.kazusa.base.adapter.ItemViewHolder
|
||||||
import io.legato.kazusa.base.adapter.RecyclerAdapter
|
import io.legato.kazusa.base.adapter.RecyclerAdapter
|
||||||
import io.legato.kazusa.databinding.ItemSearchListBinding
|
import io.legato.kazusa.databinding.ItemSearchListBinding
|
||||||
//import io.legado.app.lib.theme.accentColor
|
|
||||||
import io.legato.kazusa.utils.getCompatColor
|
|
||||||
import io.legato.kazusa.utils.hexString
|
import io.legato.kazusa.utils.hexString
|
||||||
import io.legato.kazusa.utils.themeColor
|
import io.legato.kazusa.utils.themeColor
|
||||||
|
|
||||||
@@ -16,7 +14,8 @@ class SearchContentAdapter(context: Context, val callback: Callback) :
|
|||||||
RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
|
RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
|
||||||
|
|
||||||
val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2)
|
val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2)
|
||||||
val accentColor = context.themeColor(com.google.android.material.R.attr.colorPrimary).hexString.substring(2)
|
val accentColor =
|
||||||
|
context.themeColor(androidx.appcompat.R.attr.colorPrimary).hexString.substring(2)
|
||||||
|
|
||||||
override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
|
override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
|
||||||
return ItemSearchListBinding.inflate(inflater, parent, false)
|
return ItemSearchListBinding.inflate(inflater, parent, false)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import io.legato.kazusa.R
|
|||||||
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
|
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
|
||||||
import io.legato.kazusa.data.entities.DictRule
|
import io.legato.kazusa.data.entities.DictRule
|
||||||
import io.legato.kazusa.databinding.DialogDictBinding
|
import io.legato.kazusa.databinding.DialogDictBinding
|
||||||
import io.legato.kazusa.utils.invisible
|
import io.legato.kazusa.utils.gone
|
||||||
import io.legato.kazusa.utils.setHtml
|
import io.legato.kazusa.utils.setHtml
|
||||||
import io.legato.kazusa.utils.toastOnUi
|
import io.legato.kazusa.utils.toastOnUi
|
||||||
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
||||||
@@ -53,7 +53,7 @@ class DictDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_dict) {
|
|||||||
val dictRule = tab.tag as DictRule
|
val dictRule = tab.tag as DictRule
|
||||||
binding.rotateLoading.visible()
|
binding.rotateLoading.visible()
|
||||||
viewModel.dict(dictRule, word!!) {
|
viewModel.dict(dictRule, word!!) {
|
||||||
binding.rotateLoading.invisible()
|
binding.rotateLoading.gone()
|
||||||
binding.tvDict.setHtml(it)
|
binding.tvDict.setHtml(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.legato.kazusa.ui.widget.recycler.scroller
|
package io.legato.kazusa.ui.widget.recycler.scroller
|
||||||
|
|
||||||
|
//import io.legado.app.lib.theme.accentColor
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorListenerAdapter
|
import android.animation.AnimatorListenerAdapter
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
@@ -11,7 +12,11 @@ import android.view.MotionEvent
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.ViewPropertyAnimator
|
import android.view.ViewPropertyAnimator
|
||||||
import android.widget.*
|
import android.widget.FrameLayout
|
||||||
|
import android.widget.ImageView
|
||||||
|
import android.widget.LinearLayout
|
||||||
|
import android.widget.RelativeLayout
|
||||||
|
import android.widget.TextView
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
import androidx.annotation.IdRes
|
import androidx.annotation.IdRes
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
@@ -20,13 +25,11 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.graphics.drawable.DrawableCompat
|
import androidx.core.graphics.drawable.DrawableCompat
|
||||||
import androidx.core.view.GravityCompat
|
import androidx.core.view.GravityCompat
|
||||||
import androidx.core.view.ViewCompat
|
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
||||||
import io.legato.kazusa.R
|
import io.legato.kazusa.R
|
||||||
//import io.legado.app.lib.theme.accentColor
|
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
@@ -502,7 +505,7 @@ class FastScroller : LinearLayout {
|
|||||||
mScrollbar = findViewById(R.id.fastscroll_scrollbar)
|
mScrollbar = findViewById(R.id.fastscroll_scrollbar)
|
||||||
mHandleImage = mHandleView.drawable?.mutate()
|
mHandleImage = mHandleView.drawable?.mutate()
|
||||||
val typedValue = TypedValue()
|
val typedValue = TypedValue()
|
||||||
context.theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue, true)
|
context.theme.resolveAttribute(androidx.appcompat.R.attr.colorPrimary, typedValue, true)
|
||||||
val defaultColor = typedValue.data
|
val defaultColor = typedValue.data
|
||||||
var bubbleColor = defaultColor
|
var bubbleColor = defaultColor
|
||||||
var handleColor = defaultColor
|
var handleColor = defaultColor
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<com.google.android.material.navigationrail.NavigationRailView
|
<com.google.android.material.navigationrail.NavigationRailView
|
||||||
android:id="@+id/navigation_rail_view"
|
android:id="@+id/navigation_rail_view"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurfaceContainer"
|
android:background="?attr/colorSurfaceContainer"
|
||||||
app:menuGravity="center"
|
app:menuGravity="center"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|||||||
@@ -51,9 +51,11 @@
|
|||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||||
style="@style/Widget.Material3.CircularProgressIndicator.Small"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
app:waveAmplitude="2dp"
|
||||||
|
app:waveSpeed="2dp"
|
||||||
|
app:wavelength="2dp"
|
||||||
android:indeterminate="true"
|
android:indeterminate="true"
|
||||||
app:indicatorSize="40dp" />
|
app:indicatorSize="40dp" />
|
||||||
|
|
||||||
|
|||||||
@@ -79,11 +79,11 @@
|
|||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||||
android:id="@+id/rotate_loading"
|
android:id="@+id/rotate_loading"
|
||||||
android:layout_width="48dp"
|
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||||
android:layout_height="48dp"
|
android:layout_width="wrap_content"
|
||||||
android:indeterminate="false"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/book_info"
|
app:layout_constraintBottom_toBottomOf="@+id/book_info"
|
||||||
app:layout_constraintLeft_toLeftOf="parent"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
|||||||
@@ -23,6 +23,15 @@
|
|||||||
android:indeterminate="true"
|
android:indeterminate="true"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
|
app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
|
||||||
|
|
||||||
|
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||||
|
android:id="@+id/loading_indicator"
|
||||||
|
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_margin="32dp"
|
||||||
|
android:visibility="visible" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/recycler_view"
|
android:id="@+id/recycler_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:padding="16dp">
|
android:paddingHorizontal="16dp">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_delete"
|
android:id="@+id/btn_delete"
|
||||||
|
|||||||
@@ -32,8 +32,8 @@
|
|||||||
android:id="@+id/tv_cancel"
|
android:id="@+id/tv_cancel"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginRight="16dp"
|
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
|
||||||
android:padding="12dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:text="@string/cancel"
|
android:text="@string/cancel"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
android:id="@+id/tv_ok"
|
android:id="@+id/tv_ok"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginRight="16dp"
|
style="@style/Widget.Material3Expressive.Button.TonalButton"
|
||||||
android:padding="12dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:text="@string/ok"
|
android:text="@string/ok"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
|
|||||||
@@ -206,7 +206,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btnCancel"
|
android:id="@+id/btnCancel"
|
||||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
|
||||||
android:text="取消"
|
android:text="取消"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btnOk"
|
android:id="@+id/btnOk"
|
||||||
style="@style/Widget.Material3.Button"
|
style="@style/Widget.Material3Expressive.Button"
|
||||||
android:text="确定"
|
android:text="确定"
|
||||||
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@@ -1,19 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minHeight="320dp"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingHorizontal="16dp"
|
android:paddingHorizontal="16dp"
|
||||||
android:paddingVertical="8dp">
|
android:paddingVertical="8dp">
|
||||||
|
|
||||||
|
<!-- 顶部标题容器 -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/header_layout"
|
||||||
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
|
android:gravity="center"
|
||||||
android:paddingHorizontal="16dp"
|
android:paddingHorizontal="16dp"
|
||||||
android:paddingVertical="8dp">
|
android:paddingVertical="8dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="36dp"
|
android:layout_width="36dp"
|
||||||
@@ -29,31 +33,45 @@
|
|||||||
android:text="词典"
|
android:text="词典"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- TabLayout -->
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
android:id="@+id/tab_layout"
|
android:id="@+id/tab_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@android:color/transparent" />
|
android:background="@android:color/transparent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/header_layout" />
|
||||||
|
|
||||||
|
<!-- LoadingIndicator 居中显示 -->
|
||||||
|
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||||
|
android:id="@+id/rotate_loading"
|
||||||
|
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="32dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tab_layout" />
|
||||||
|
|
||||||
|
<!-- ScrollView 显示字典内容 -->
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/scroll_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:minHeight="64dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tab_layout">
|
||||||
|
|
||||||
<io.legato.kazusa.ui.widget.text.ScrollTextView
|
<io.legato.kazusa.ui.widget.text.ScrollTextView
|
||||||
android:id="@+id/tv_dict"
|
android:id="@+id/tv_dict"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="match_parent" />
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
|
||||||
android:id="@+id/rotate_loading"
|
|
||||||
android:layout_width="60dp"
|
|
||||||
android:layout_height="60dp"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:indeterminate="true" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|||||||
@@ -6,12 +6,11 @@
|
|||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||||
android:id="@+id/pb"
|
android:id="@+id/pb"
|
||||||
android:layout_width="30dp"
|
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||||
android:layout_height="30dp"
|
android:layout_width="wrap_content"
|
||||||
android:indeterminateBehavior="repeat"
|
android:layout_height="wrap_content" />
|
||||||
android:indeterminateOnly="true" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_msg"
|
android:id="@+id/tv_msg"
|
||||||
|
|||||||
@@ -25,19 +25,18 @@
|
|||||||
android:id="@+id/loading"
|
android:id="@+id/loading"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
style="@style/Widget.Material3.CircularProgressIndicator"
|
android:indeterminate="false"
|
||||||
|
app:indicatorSize="80dp"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:indeterminate="true"
|
app:showAnimationBehavior="outward" />
|
||||||
app:indicatorSize="64dp" />
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/retry"
|
android:id="@+id/retry"
|
||||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
style="@style/Widget.Material3Expressive.Button.TonalButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:padding="8dp"
|
|
||||||
android:text="重新加载"
|
android:text="重新加载"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:textColor="?attr/colorSurfaceVariant"
|
android:textColor="?attr/colorSurfaceVariant"
|
||||||
|
|||||||
@@ -7,10 +7,13 @@
|
|||||||
|
|
||||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||||
android:id="@+id/rotate_loading"
|
android:id="@+id/rotate_loading"
|
||||||
android:layout_width="36dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="36dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="6dp"
|
android:layout_margin="8dp"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
|
app:waveAmplitude="2dp"
|
||||||
|
app:waveSpeed="2dp"
|
||||||
|
app:wavelength="2dp"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
android:indeterminate="true" />
|
android:indeterminate="true" />
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,11 @@
|
|||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<androidx.core.widget.ContentLoadingProgressBar
|
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||||
|
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||||
android:id="@+id/loading_progress"
|
android:id="@+id/loading_progress"
|
||||||
android:layout_width="48dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="48dp" />
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/tv_loading_message"
|
android:id="@+id/tv_loading_message"
|
||||||
@@ -16,4 +17,5 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:text="@string/dynamic_loading" />
|
android:text="@string/dynamic_loading" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
<com.google.android.material.button.MaterialButtonToggleGroup xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.google.android.material.button.MaterialButtonToggleGroup xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/theme_toggle_group"
|
android:id="@+id/theme_toggle_group"
|
||||||
|
style="@style/Widget.Material3.MaterialButtonGroup.Connected"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
@@ -11,7 +12,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_system"
|
android:id="@+id/btn_system"
|
||||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
style="@style/Widget.Material3Expressive.Button"
|
||||||
app:checkedIcon="@drawable/ic_check"
|
app:checkedIcon="@drawable/ic_check"
|
||||||
android:checkable="true"
|
android:checkable="true"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -21,7 +22,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_light"
|
android:id="@+id/btn_light"
|
||||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
style="@style/Widget.Material3Expressive.Button"
|
||||||
app:checkedIcon="@drawable/ic_check"
|
app:checkedIcon="@drawable/ic_check"
|
||||||
android:checkable="true"
|
android:checkable="true"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -31,7 +32,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_dark"
|
android:id="@+id/btn_dark"
|
||||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
style="@style/Widget.Material3Expressive.Button"
|
||||||
app:checkedIcon="@drawable/ic_check"
|
app:checkedIcon="@drawable/ic_check"
|
||||||
android:checkable="true"
|
android:checkable="true"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<style name="Base.AppTheme" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
<style name="Base.AppTheme" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||||
<item name="android:windowLightStatusBar">false</item>
|
<item name="android:windowLightStatusBar">false</item>
|
||||||
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Base.AppTheme" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
<style name="Base.AppTheme" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||||
<item name="android:windowLightStatusBar">true</item>
|
<item name="android:windowLightStatusBar">true</item>
|
||||||
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<item name="chipStyle">@style/Widget.Material3.Chip.Filter</item>
|
<item name="chipStyle">@style/Widget.Material3.Chip.Filter</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.Base.Dycolors" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
<style name="Theme.Base.Dycolors" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -46,3 +46,5 @@ CronetMainVersion=128.0.0.0
|
|||||||
android.injected.testOnly=false
|
android.injected.testOnly=false
|
||||||
android.nonFinalResIds=true
|
android.nonFinalResIds=true
|
||||||
android.injected.androidTest.leaveApksInstalledAfterRun=true
|
android.injected.androidTest.leaveApksInstalledAfterRun=true
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
[versions]
|
[versions]
|
||||||
|
|
||||||
datastorePreferences = "1.0.0"
|
datastorePreferences = "1.1.7"
|
||||||
kotlin = "2.1.21"
|
kotlin = "2.1.21"
|
||||||
ksp = "2.1.21-2.0.1"
|
ksp = "2.1.21-2.0.1"
|
||||||
agp = "8.10.1"
|
agp = "8.10.1"
|
||||||
appcompat = "1.7.0"
|
appcompat = "1.7.1"
|
||||||
colorpicker = "1.1.0"
|
colorpicker = "1.1.0"
|
||||||
commonsText = "1.13.1"
|
commonsText = "1.13.1"
|
||||||
constraintlayout = "2.2.1"
|
constraintlayout = "2.2.1"
|
||||||
core = "1.16.0"
|
core = "1.16.0"
|
||||||
firebaseBom = "33.2.0"
|
firebaseBom = "34.0.0"
|
||||||
flexbox = "3.0.0"
|
flexbox = "3.0.0"
|
||||||
fragment = "1.8.7"
|
fragment = "1.8.8"
|
||||||
|
|
||||||
#不要更新版本
|
#不要更新版本
|
||||||
hutool = "5.8.22"
|
hutool = "5.8.22"
|
||||||
|
|
||||||
libarchive = "1.1.5"
|
libarchive = "1.1.5"
|
||||||
lifecycle = "2.9.0"
|
lifecycle = "2.9.2"
|
||||||
glide = "4.16.0"
|
glide = "4.16.0"
|
||||||
gson = "2.13.1"
|
gson = "2.13.1"
|
||||||
jsonPath = "2.9.0"
|
jsonPath = "2.9.0"
|
||||||
@@ -28,16 +28,16 @@ jsoupxpath = "2.5.3"
|
|||||||
coroutines = "1.10.2"
|
coroutines = "1.10.2"
|
||||||
liveeventbus = "1.8.14"
|
liveeventbus = "1.8.14"
|
||||||
markwon = "4.6.2"
|
markwon = "4.6.2"
|
||||||
material = "1.12.0"
|
material = "1.14.0-alpha03"
|
||||||
media = "1.7.0"
|
media = "1.7.0"
|
||||||
media3 = "1.6.1"
|
media3 = "1.7.1"
|
||||||
nanoHttpd = "2.3.1"
|
nanoHttpd = "2.3.1"
|
||||||
okhttp = "4.12.0"
|
okhttp = "4.12.0"
|
||||||
palette = "1.0.0"
|
palette = "1.0.0"
|
||||||
preference = "1.2.1"
|
preference = "1.2.1"
|
||||||
protobufJavalite = "4.26.1"
|
protobufJavalite = "4.26.1"
|
||||||
quickChineseTransfer = "0.2.16"
|
quickChineseTransfer = "0.2.16"
|
||||||
room = "2.7.1"
|
room = "2.7.2"
|
||||||
splitties = "3.0.0"
|
splitties = "3.0.0"
|
||||||
rhino = "1.8.0"
|
rhino = "1.8.0"
|
||||||
desugar = "2.1.5"
|
desugar = "2.1.5"
|
||||||
@@ -49,7 +49,7 @@ swiperefreshlayout = "1.1.0"
|
|||||||
recyclerview = "1.2.0"
|
recyclerview = "1.2.0"
|
||||||
#noinspection GradleDependency
|
#noinspection GradleDependency
|
||||||
viewpager2 = "1.0.0"
|
viewpager2 = "1.0.0"
|
||||||
webkit = "1.13.0"
|
webkit = "1.14.0"
|
||||||
collection = "1.5.0"
|
collection = "1.5.0"
|
||||||
|
|
||||||
zxingLite = "3.2.0"
|
zxingLite = "3.2.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user