mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
This commit is contained in:
@@ -95,7 +95,6 @@ abstract class BaseBooksAdapter<VH : RecyclerView.ViewHolder>(
|
||||
if (bundle.isEmpty) return null
|
||||
return bundle
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private val asyncListDiffer by lazy {
|
||||
|
||||
@@ -34,10 +34,12 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
|
||||
) {
|
||||
when (holder) {
|
||||
is BookViewHolder -> (getItem(position) as? Book)?.let {
|
||||
holder.registerListener(position)
|
||||
holder.onBind(it, position, payloads)
|
||||
}
|
||||
|
||||
is GroupViewHolder -> (getItem(position) as? BookGroup)?.let {
|
||||
holder.registerListener(position)
|
||||
holder.onBind(it, position, payloads)
|
||||
}
|
||||
}
|
||||
@@ -50,12 +52,6 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
|
||||
tvName.text = item.name
|
||||
ivCover.load(item.getDisplayCover(), item.name, item.author, false, item.origin)
|
||||
upRefresh(this, item)
|
||||
root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
fun onBind(item: Book, position: Int, payloads: MutableList<Any>) = binding.run {
|
||||
@@ -82,6 +78,15 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
|
||||
}
|
||||
}
|
||||
|
||||
fun registerListener(position: Int) {
|
||||
binding.root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
binding.root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
private fun upRefresh(binding: ItemBookshelfGridBinding, item: Book) {
|
||||
if (!item.isLocal && callBack.isUpdate(item.bookUrl)) {
|
||||
binding.bvUnread.invisible()
|
||||
@@ -105,12 +110,6 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
|
||||
fun onBind(item: BookGroup, position: Int) = binding.run {
|
||||
tvName.text = item.groupName
|
||||
ivCover.load(item.cover)
|
||||
root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
fun onBind(item: BookGroup, position: Int, payloads: MutableList<Any>) = binding.run {
|
||||
@@ -129,6 +128,15 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
|
||||
}
|
||||
}
|
||||
|
||||
fun registerListener(position: Int) {
|
||||
binding.root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
binding.root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -33,10 +33,12 @@ class BooksAdapterList(context: Context, callBack: CallBack) :
|
||||
) {
|
||||
when (holder) {
|
||||
is BookViewHolder -> (getItem(position) as? Book)?.let {
|
||||
holder.registerListener(position)
|
||||
holder.onBind(it, position, payloads)
|
||||
}
|
||||
|
||||
is GroupViewHolder -> (getItem(position) as? BookGroup)?.let {
|
||||
holder.registerListener(position)
|
||||
holder.onBind(it, position, payloads)
|
||||
}
|
||||
}
|
||||
@@ -56,12 +58,6 @@ class BooksAdapterList(context: Context, callBack: CallBack) :
|
||||
ivLast.visible()
|
||||
ivRead.visible()
|
||||
upRefresh(this, item)
|
||||
root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
fun onBind(item: Book, position: Int, payloads: MutableList<Any>) = binding.run {
|
||||
@@ -91,6 +87,15 @@ class BooksAdapterList(context: Context, callBack: CallBack) :
|
||||
}
|
||||
}
|
||||
|
||||
fun registerListener(position: Int) {
|
||||
binding.root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
binding.root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
private fun upRefresh(binding: ItemBookshelfListBinding, item: Book) {
|
||||
if (!item.isLocal && callBack.isUpdate(item.bookUrl)) {
|
||||
binding.bvUnread.invisible()
|
||||
@@ -121,12 +126,6 @@ class BooksAdapterList(context: Context, callBack: CallBack) :
|
||||
tvAuthor.gone()
|
||||
tvLast.gone()
|
||||
tvRead.gone()
|
||||
root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
fun onBind(item: BookGroup, position: Int, payloads: MutableList<Any>) = binding.run {
|
||||
@@ -145,6 +144,15 @@ class BooksAdapterList(context: Context, callBack: CallBack) :
|
||||
}
|
||||
}
|
||||
|
||||
fun registerListener(position: Int) {
|
||||
binding.root.setOnClickListener {
|
||||
callBack.onItemClick(position)
|
||||
}
|
||||
binding.root.onLongClick {
|
||||
callBack.onItemLongClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user