From 99b0d1d9fe79fffcd051ae9068dfb730f2296188 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 2 Apr 2024 16:56:43 +0200 Subject: [PATCH] Add definitions for shop --- Habitica/res/navigation/navigation.xml | 7 +++++++ Habitica/res/values/strings.xml | 4 +++- Habitica/res/xml/remote_config_defaults.xml | 4 ++++ .../android/habitica/helpers/AppConfigManager.kt | 4 ++++ .../com/habitrpg/android/habitica/models/shops/Shop.kt | 2 ++ .../habitica/ui/fragments/NavigationDrawerFragment.kt | 10 ++++++++++ .../ui/fragments/inventory/shops/ShopFragment.kt | 1 + 7 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Habitica/res/navigation/navigation.xml b/Habitica/res/navigation/navigation.xml index 4e3cbbc12..dab04024a 100644 --- a/Habitica/res/navigation/navigation.xml +++ b/Habitica/res/navigation/navigation.xml @@ -467,6 +467,13 @@ + + + + What’s a Rage Strike? The %s was Attacked! Our beloved %s was devastated when the %s shattered the %s. Quickly, tackle your tasks to defeat the monster and help rebuild!! - Quest Shop + Quests Alex the Merchant Daniel the inn keeper Matt the beast master @@ -1479,6 +1479,8 @@ There was an error when loading this player\'s data. Please make sure you typed their @username correctly. Content releases + Events Report Challenge + Felicitus + Customizations diff --git a/Habitica/res/xml/remote_config_defaults.xml b/Habitica/res/xml/remote_config_defaults.xml index b4b5e8b38..42fd091ca 100644 --- a/Habitica/res/xml/remote_config_defaults.xml +++ b/Habitica/res/xml/remote_config_defaults.xml @@ -141,5 +141,9 @@ reviewCheckingMinCount 2 + + enableCustomizationShop + true + diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt index c86bdab51..525c86fc1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/AppConfigManager.kt @@ -181,4 +181,8 @@ class AppConfigManager(contentRepository: ContentRepository?) : com.habitrpg.com val events = ((worldState?.events as? List) ?: listOf(worldState?.currentEvent)) return events.firstOrNull { it?.eventKey == "birthday10" && it.end?.after(Date()) == true } } + + fun enableCustomizationShop(): Boolean { + return remoteConfig.getBoolean("enableCustomizationShop") + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/Shop.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/Shop.kt index 7e7b78c01..be4f8ec1c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/Shop.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/shops/Shop.kt @@ -17,6 +17,7 @@ class Shop { QUEST_SHOP -> R.string.questShop_owner SEASONAL_SHOP -> R.string.seasonalShop_owner TIME_TRAVELERS_SHOP -> R.string.timetravelers_owner + CUSTOMIZATIONS -> R.string.customizations_owner else -> R.string.market_owner } @@ -27,5 +28,6 @@ class Shop { const val QUEST_SHOP = "questShop" const val TIME_TRAVELERS_SHOP = "timeTravelersShop" const val SEASONAL_SHOP = "seasonalShop" + const val CUSTOMIZATIONS = "customizations" } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt index bbfcb49e1..0763f54f1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt @@ -416,6 +416,15 @@ class NavigationDrawerFragment : DialogFragment() { context.getString(R.string.questShop) ) ) + if (configManager.enableCustomizationShop()) { + items.add( + HabiticaDrawerItem( + R.id.customizationsShopFragment, + SIDEBAR_SHOPS_CUSTOMIZATIONS, + context.getString(R.string.customizations) + ) + ) + } val seasonalShopEntry = HabiticaDrawerItem( R.id.seasonalShopFragment, SIDEBAR_SHOPS_SEASONAL, @@ -791,6 +800,7 @@ class NavigationDrawerFragment : DialogFragment() { const val SIDEBAR_INVENTORY = "inventory" const val SIDEBAR_SHOPS_MARKET = "market" const val SIDEBAR_SHOPS_QUEST = "questShop" + const val SIDEBAR_SHOPS_CUSTOMIZATIONS = "customizationsShop" const val SIDEBAR_SHOPS_SEASONAL = "seasonalShop" const val SIDEBAR_SHOPS_TIMETRAVEL = "timeTravelersShop" const val SIDEBAR_AVATAR = "avatar" 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 8822e9737..bedbe5de1 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 @@ -304,6 +304,7 @@ open class ShopFragment : BaseMainFragment() Shop.QUEST_SHOP -> "quests" Shop.TIME_TRAVELERS_SHOP -> "time-travelers" Shop.SEASONAL_SHOP -> "seasonal" + Shop.CUSTOMIZATIONS -> "customizations" else -> "" } lifecycleScope.launchCatching({