From 136f6a5fec81c869724e3bc1455ea2ed716213f0 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 17 May 2024 10:05:09 +0200 Subject: [PATCH] fix empty states --- .../android/habitica/models/shops/EmptyShopCategory.kt | 2 +- .../com/habitrpg/android/habitica/models/shops/ShopItem.kt | 1 + .../habitica/ui/fragments/inventory/shops/ShopFragment.kt | 6 ++++++ .../android/habitica/ui/views/shops/PurchaseDialog.kt | 4 ++-- version.properties | 2 +- .../wearos/habitica/ui/viewmodels/LoginViewModel.kt | 4 +++- 6 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/EmptyShopCategory.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/EmptyShopCategory.kt index f3c425251..1209909db 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/EmptyShopCategory.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/EmptyShopCategory.kt @@ -8,7 +8,7 @@ class EmptyShopCategory(categoryIdentifier: String, context: Context?) { val description: String init { val stringId = when (categoryIdentifier) { - "background" -> R.string.try_on_next_month + "backgrounds" -> R.string.try_on_next_month "color" -> R.string.try_on_next_season "skin" -> R.string.try_on_next_season "mystery_sets" -> R.string.try_on_equipment 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 2645d6d32..cf9f85ff7 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 @@ -55,6 +55,7 @@ open class ShopItem : RealmObject(), BaseObject { @SerializedName("klass") var habitClass: String? = null + var specialClass: String? = null var previous: String? = null @SerializedName("lvl") diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt index 05ffdb7a3..3b2c067a8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt @@ -380,6 +380,12 @@ open class ShopFragment : BaseMainFragment() newCategory.items.add(item) } } + val mysterySetCategory = newCategories.find { it.identifier == "mystery_sets" } ?: ShopCategory() + if (mysterySetCategory.identifier.isEmpty()) { + mysterySetCategory.identifier = "mystery_sets" + mysterySetCategory.text = getString(R.string.mystery_sets) + newCategories.add(mysterySetCategory) + } shop.categories = newCategories return shop } 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 6263c6137..67715c08a 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 @@ -154,9 +154,9 @@ class PurchaseDialog( } val userLvl = user?.stats?.lvl ?: 0 - if (shopItem.habitClass != null && (shopItem.habitClass != "special" || shopItem.pinType == "marketGear") && shopItem.habitClass != "armoire" && user?.stats?.habitClass != shopItem.habitClass) { + if (shopItem.habitClass != null && shopItem.specialClass != null && (shopItem.habitClass != "special" || shopItem.pinType == "marketGear") && shopItem.habitClass != "armoire" && user?.stats?.habitClass != shopItem.specialClass) { val classDisclaimerView = contentView.findViewById(R.id.class_disclaimer_view) - val className = getTranslatedClassNamePlural(context.resources, shopItem.habitClass ?: "") + val className = getTranslatedClassNamePlural(context.resources, shopItem.specialClass ?: "") classDisclaimerView.text = if (userLvl >= 10) { context.getString(R.string.class_equipment_shop_dialog_new, className) diff --git a/version.properties b/version.properties index 5ead1d2d6..be7c402b2 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.3.7 -CODE=7701 \ No newline at end of file +CODE=7721 \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt index 6394696fa..0b3c6a404 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt @@ -121,7 +121,9 @@ class LoginViewModel // the app access to the account, but the user can fix this. // Forward the user to an activity in Google Play services. val intent = e.intent - recoverFromPlayServicesErrorResult.launch(intent) + if (intent != null) { + recoverFromPlayServicesErrorResult.launch(intent) + } return } }