From 6405523232e25ecb2ea1cfb5c92b13b943d0ac67 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 7 May 2022 08:50:33 +0300 Subject: [PATCH] Fix CategoryListModel equals/hashcode --- .../kotatsu/favourites/ui/categories/CategoriesAdapter.kt | 5 ++++- .../favourites/ui/categories/adapter/CategoryListModel.kt | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesAdapter.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesAdapter.kt index e13b31e00..7a5620158 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesAdapter.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesAdapter.kt @@ -40,7 +40,10 @@ class CategoriesAdapter( newItem: CategoryListModel, ): Any? = when { oldItem is CategoryListModel.All && newItem is CategoryListModel.All -> Unit - else -> super.getChangePayload(oldItem, newItem) + oldItem is CategoryListModel.CategoryItem && + newItem is CategoryListModel.CategoryItem && + oldItem.category.title != newItem.category.title -> null + else -> Unit } } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/adapter/CategoryListModel.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/adapter/CategoryListModel.kt index 8326f8617..899b73e1c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/adapter/CategoryListModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/adapter/CategoryListModel.kt @@ -45,6 +45,7 @@ sealed interface CategoryListModel : ListModel { if (category.id != other.category.id) return false if (category.title != other.category.title) return false if (category.order != other.category.order) return false + if (category.isTrackingEnabled != other.category.isTrackingEnabled) return false return true } @@ -53,6 +54,7 @@ sealed interface CategoryListModel : ListModel { var result = category.id.hashCode() result = 31 * result + category.title.hashCode() result = 31 * result + category.order.hashCode() + result = 31 * result + category.isTrackingEnabled.hashCode() return result } }