fix: Fixed handling of position in card adapter.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing

This commit is contained in:
aminecmi 2024-02-13 21:25:46 +01:00
parent db166ca9d4
commit 41910cc4cd
3 changed files with 7 additions and 6 deletions

View File

@ -94,10 +94,10 @@ class ItemCardAdapter(
position: Int,
) {
with(holder) {
val itm = items[position]
val itm = items[holder.bindingAdapterPosition]
handleClickListeners(position)
handleLinkOpening(position)
handleClickListeners(holder.bindingAdapterPosition)
handleLinkOpening(holder.bindingAdapterPosition)
binding.favButton.isSelected = itm.starred
if (appSettingsService.getPublicAccess()) {

View File

@ -45,13 +45,13 @@ class ItemListAdapter(
position: Int,
) {
with(holder) {
val itm = items[position]
val itm = items[holder.bindingAdapterPosition]
binding.root.setOnClickListener {
repository.setReaderItems(items)
c.openItemUrl(
bindingAdapterPosition,
items[bindingAdapterPosition].getLinkDecoded(),
holder.bindingAdapterPosition,
items[holder.bindingAdapterPosition].getLinkDecoded(),
appSettingsService.isArticleViewerEnabled(),
app,
)

View File

@ -89,6 +89,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
if (repository.displayedItems == ItemType.UNREAD) {
items.remove(item)
notifyItemRemoved(position)
notifyItemRangeChanged(position, itemCount)
updateItems(items)
} else {
notifyItemChanged(position)