diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmInventoryLocalRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmInventoryLocalRepository.kt index 15d3a34ea..c1ed67576 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmInventoryLocalRepository.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmInventoryLocalRepository.kt @@ -242,12 +242,13 @@ class RealmInventoryLocalRepository(realm: Realm) : RealmContentLocalRepository( return } val item = realm.where(OwnedItem::class.java).equalTo("combinedKey", "${user.id}specialinventory_present").findFirst() + val liveUser = getLiveObject(user) executeTransaction { if (item != null && item.isValid) { item.numberOwned = item.numberOwned - 1 } - if (user.isValid) { - user.purchased?.plan?.mysteryItemCount = (user.purchased?.plan?.mysteryItemCount ?: 0) - 1 + if (liveUser?.isValid == true) { + liveUser.purchased?.plan?.mysteryItemCount = (user.purchased?.plan?.mysteryItemCount ?: 0) - 1 } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.kt index 97ae5dabc..f438c1253 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.kt @@ -27,7 +27,7 @@ import org.greenrobot.eventbus.EventBus import java.text.SimpleDateFormat import java.util.* -class ItemRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: Boolean, val context: Context) : BaseRecyclerViewAdapter() { +class ItemRecyclerAdapter(val context: Context) : BaseRecyclerViewAdapter() { var isHatching: Boolean = false var isFeeding: Boolean = false @@ -67,10 +67,8 @@ class ItemRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: } override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { - data?.let { - val ownedItem = it[position] - holder.bind(ownedItem, items?.get(ownedItem.key)) - } + val ownedItem = data[position] + holder.bind(ownedItem, items?.get(ownedItem.key)) } fun setExistingPets(pets: RealmResults) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt index a5f773b0b..7fb6b1f07 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.kt @@ -73,7 +73,7 @@ class ItemRecyclerFragment : BaseFragment(), SwipeRefreshL adapter = binding?.recyclerView?.adapter as? ItemRecyclerAdapter if (adapter == null) { context?.let { - adapter = ItemRecyclerAdapter(null, true, context) + adapter = ItemRecyclerAdapter(context) adapter?.isHatching = this.isHatching adapter?.isFeeding = this.isFeeding adapter?.fragment = this