diff --git a/Habitica/res/layout/shop_section_header.xml b/Habitica/res/layout/shop_section_header.xml index d085f9c36..9f281c619 100644 --- a/Habitica/res/layout/shop_section_header.xml +++ b/Habitica/res/layout/shop_section_header.xml @@ -39,8 +39,10 @@ android:src="@drawable/shop_header_sparkle" /> + android:src="@drawable/ic_arrow_drop_down_10dp" /> + android:visibility="invisible" /> 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 371ac70ee..272de5ce4 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 @@ -377,7 +377,7 @@ open class ShopFragment : BaseMainFragment() Shop.SEASONAL_SHOP -> { newShop.categories.sortWith( compareBy { it.items.firstOrNull()?.currency != "gold" } - .thenByDescending { it.items.firstOrNull()?.availableUntil } + .thenByDescending { if (it.identifier == "quests") 10000 else findReleaseYear(it.items.firstOrNull()?.key ?: "") } .thenBy { it.items.firstOrNull()?.locked }, ) } @@ -394,6 +394,15 @@ open class ShopFragment : BaseMainFragment() } } + private fun findReleaseYear(key: String): Int { + val result = key.filter { it.isDigit() } + return if (result.isEmpty()) { + 2014 + } else { + result.toInt() + } + } + private fun formatTimeTravelersShop(shop: Shop): Shop { val newCategories = mutableListOf() for (category in shop.categories) {