diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/ShopItem.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/ShopItem.kt index 94fa0bcd3..4dc4e9049 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/ShopItem.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/ShopItem.kt @@ -41,6 +41,7 @@ open class ShopItem : RealmObject(), BaseObject { var limitedNumberLeft: Int? = null var unlockCondition: ShopItemUnlockCondition? = null var path: String? = null + var unlockPath: String? = null var isSuggested: String? = null var pinType: String? = null @SerializedName("klass") @@ -164,6 +165,8 @@ open class ShopItem : RealmObject(), BaseObject { item.notes = customization.notes item.value = customization.price ?: 0 item.path = customization.path + item.unlockPath = customization.unlockPath + item.pinType = customization.type item.purchaseType = if (customization.type == "background") "background" else "customization" item.imageName = customization.getImageName(userSize, hairColor) return item @@ -173,12 +176,12 @@ open class ShopItem : RealmObject(), BaseObject { val item = ShopItem() var path = "" for (customization in set.customizations) { - path = path + "," + customization.path + path = path + "," + customization.unlockPath } if (path.isEmpty()) { - item.path = path + item.unlockPath = path } else { - item.path = path.substring(1) + item.unlockPath = path.substring(1) } item.text = set.text item.key = set.identifier ?: "" diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt index 0f87a1f1c..3b4fa15a8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt @@ -367,7 +367,7 @@ class PurchaseDialog(context: Context, component: UserComponent?, val item: Shop } else if (shopItem.purchaseType == "debuffPotion") { observable = userRepository.useSkill(shopItem.key, null).cast(Any::class.java) } else if (shopItem.purchaseType == "customization" || shopItem.purchaseType == "background" || shopItem.purchaseType == "customizationSet") { - observable = userRepository.unlockPath(item.path ?: "", item.value).cast(Any::class.java) + observable = userRepository.unlockPath(item.unlockPath ?: "", item.value).cast(Any::class.java) } else if (shopItem.purchaseType == "debuffPotion") { observable = userRepository.useSkill(shopItem.key, null).cast(Any::class.java) } else if (shopItem.purchaseType == "card") {