单章换源加载字数
This commit is contained in:
@@ -13,6 +13,7 @@ import io.legado.app.base.adapter.DiffRecyclerAdapter
|
|||||||
import io.legado.app.base.adapter.ItemViewHolder
|
import io.legado.app.base.adapter.ItemViewHolder
|
||||||
import io.legado.app.data.entities.SearchBook
|
import io.legado.app.data.entities.SearchBook
|
||||||
import io.legado.app.databinding.ItemChangeSourceBinding
|
import io.legado.app.databinding.ItemChangeSourceBinding
|
||||||
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.utils.getCompatColor
|
import io.legado.app.utils.getCompatColor
|
||||||
import io.legado.app.utils.gone
|
import io.legado.app.utils.gone
|
||||||
import io.legado.app.utils.invisible
|
import io.legado.app.utils.invisible
|
||||||
@@ -55,6 +56,8 @@ class ChangeChapterSourceAdapter(
|
|||||||
tvOrigin.text = item.originName
|
tvOrigin.text = item.originName
|
||||||
tvAuthor.text = item.author
|
tvAuthor.text = item.author
|
||||||
tvLast.text = item.getDisplayLastChapterTitle()
|
tvLast.text = item.getDisplayLastChapterTitle()
|
||||||
|
tvCurrentChapterWordCount.text = item.chapterWordCountText
|
||||||
|
tvRespondTime.text = context.getString(R.string.respondTime, item.respondTime)
|
||||||
if (callBack.oldBookUrl == item.bookUrl) {
|
if (callBack.oldBookUrl == item.bookUrl) {
|
||||||
ivChecked.visible()
|
ivChecked.visible()
|
||||||
} else {
|
} else {
|
||||||
@@ -82,13 +85,37 @@ class ChangeChapterSourceAdapter(
|
|||||||
} else if (score < 0) {
|
} else if (score < 0) {
|
||||||
binding.ivGood.gone()
|
binding.ivGood.gone()
|
||||||
binding.ivBad.visible()
|
binding.ivBad.visible()
|
||||||
DrawableCompat.setTint(binding.ivGood.drawable, appCtx.getCompatColor(R.color.md_red_100))
|
DrawableCompat.setTint(
|
||||||
DrawableCompat.setTint(binding.ivBad.drawable, appCtx.getCompatColor(R.color.md_blue_A200))
|
binding.ivGood.drawable,
|
||||||
|
appCtx.getCompatColor(R.color.md_red_100)
|
||||||
|
)
|
||||||
|
DrawableCompat.setTint(
|
||||||
|
binding.ivBad.drawable,
|
||||||
|
appCtx.getCompatColor(R.color.md_blue_A200)
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
binding.ivGood.visible()
|
binding.ivGood.visible()
|
||||||
binding.ivBad.visible()
|
binding.ivBad.visible()
|
||||||
DrawableCompat.setTint(binding.ivGood.drawable, appCtx.getCompatColor(R.color.md_red_100))
|
DrawableCompat.setTint(
|
||||||
DrawableCompat.setTint(binding.ivBad.drawable, appCtx.getCompatColor(R.color.md_blue_100))
|
binding.ivGood.drawable,
|
||||||
|
appCtx.getCompatColor(R.color.md_red_100)
|
||||||
|
)
|
||||||
|
DrawableCompat.setTint(
|
||||||
|
binding.ivBad.drawable,
|
||||||
|
appCtx.getCompatColor(R.color.md_blue_100)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.changeSourceLoadWordCount && !item.chapterWordCountText.isNullOrBlank()) {
|
||||||
|
tvCurrentChapterWordCount.visible()
|
||||||
|
} else {
|
||||||
|
tvCurrentChapterWordCount.gone()
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.changeSourceLoadWordCount && item.respondTime >= 0) {
|
||||||
|
tvRespondTime.visible()
|
||||||
|
} else {
|
||||||
|
tvRespondTime.gone()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,20 @@ package io.legado.app.ui.book.changesource
|
|||||||
|
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.*
|
import android.view.KeyEvent
|
||||||
import android.view.KeyEvent.ACTION_UP
|
import android.view.KeyEvent.ACTION_UP
|
||||||
|
import android.view.Menu
|
||||||
|
import android.view.MenuItem
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.core.os.bundleOf
|
import androidx.core.os.bundleOf
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
|
import androidx.lifecycle.Lifecycle.State.STARTED
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.lifecycle.Lifecycle.State.STARTED
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
@@ -31,8 +35,17 @@ import io.legado.app.lib.theme.primaryColor
|
|||||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
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.recycler.VerticalDivider
|
import io.legado.app.ui.widget.recycler.VerticalDivider
|
||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.StartActivityContract
|
||||||
|
import io.legado.app.utils.applyTint
|
||||||
|
import io.legado.app.utils.cnCompare
|
||||||
|
import io.legado.app.utils.dpToPx
|
||||||
|
import io.legado.app.utils.gone
|
||||||
|
import io.legado.app.utils.observeEvent
|
||||||
|
import io.legado.app.utils.setLayout
|
||||||
|
import io.legado.app.utils.startActivity
|
||||||
|
import io.legado.app.utils.toastOnUi
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
|
import io.legado.app.utils.visible
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.conflate
|
import kotlinx.coroutines.flow.conflate
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -124,6 +137,8 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
|||||||
?.isChecked = AppConfig.changeSourceLoadInfo
|
?.isChecked = AppConfig.changeSourceLoadInfo
|
||||||
binding.toolBar.menu.findItem(R.id.menu_load_toc)
|
binding.toolBar.menu.findItem(R.id.menu_load_toc)
|
||||||
?.isChecked = AppConfig.changeSourceLoadToc
|
?.isChecked = AppConfig.changeSourceLoadToc
|
||||||
|
binding.toolBar.menu.findItem(R.id.menu_load_word_count)
|
||||||
|
?.isChecked = AppConfig.changeSourceLoadWordCount
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initView() {
|
private fun initView() {
|
||||||
@@ -239,6 +254,11 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
|||||||
AppConfig.changeSourceLoadToc = !item.isChecked
|
AppConfig.changeSourceLoadToc = !item.isChecked
|
||||||
item.isChecked = !item.isChecked
|
item.isChecked = !item.isChecked
|
||||||
}
|
}
|
||||||
|
R.id.menu_load_word_count -> {
|
||||||
|
AppConfig.changeSourceLoadWordCount = !item.isChecked
|
||||||
|
item.isChecked = !item.isChecked
|
||||||
|
viewModel.onLoadWordCountChecked(item.isChecked)
|
||||||
|
}
|
||||||
R.id.menu_start_stop -> viewModel.startOrStopSearch()
|
R.id.menu_start_stop -> viewModel.startOrStopSearch()
|
||||||
R.id.menu_source_manage -> startActivity<BookSourceActivity>()
|
R.id.menu_source_manage -> startActivity<BookSourceActivity>()
|
||||||
else -> if (item?.groupId == R.id.source_group) {
|
else -> if (item?.groupId == R.id.source_group) {
|
||||||
|
|||||||
Reference in New Issue
Block a user