diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PurchaseHandler.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PurchaseHandler.kt index 03df50a0b..f4d62091d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PurchaseHandler.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PurchaseHandler.kt @@ -314,10 +314,11 @@ class PurchaseHandler( val flowParams = BillingFlowParams.newBuilder().setProductDetailsParamsList( listOf(skuDetails).map { - BillingFlowParams.ProductDetailsParams.newBuilder() - .setProductDetails(skuDetails).setOfferToken( - skuDetails.subscriptionOfferDetails?.first()?.offerToken ?: "", - ).build() + var params = BillingFlowParams.ProductDetailsParams.newBuilder().setProductDetails(skuDetails) + skuDetails.subscriptionOfferDetails?.first()?.offerToken?.let { offerToken -> + params = params.setOfferToken(offerToken) + } + return@map params.build() }, ).build() billingClient.launchBillingFlow(activity, flowParams) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt index 1b687b2b6..d0bb1a72b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/ComposeAvatarEquipmentFragment.kt @@ -133,7 +133,7 @@ class ComposeAvatarEquipmentFragment : val avatar by userViewModel.user.observeAsState() AvatarEquipmentView(avatar = avatar, configManager = configManager, viewModel.items, viewModel.type, stringResource(viewModel.typeNameId), activeEquipment) { equipment -> lifecycleScope.launchCatching { - if (equipment.key?.isNotBlank() != true && equipment.key != activeEquipment) { + if ((equipment.key?.isNotBlank() != true || equipment.key?.endsWith("_0") == true) && equipment.key != activeEquipment) { inventoryRepository.equip( if (userViewModel.user.value?.preferences?.costume == true) "costume" else "equipped", activeEquipment ?: "") diff --git a/fastlane/changelog.txt b/fastlane/changelog.txt index c815c65cb..ebd543012 100644 --- a/fastlane/changelog.txt +++ b/fastlane/changelog.txt @@ -1,5 +1,10 @@ -New in 4.4: -- Support for upcoming events and content -- Updated avatar customization interface to support new events and content -- Updated push notification library to work with new standards in Firebase Cloud Messaging -- Other various bug fixes and interface improvements + +New in 4.4.1: +- Check out the new Customization Shop and Avatar Customization experience! +- New Giraffe Quest Eggs, Koi Hatching Potions, and Summer Hair colors +- It’s easier than ever to know when items will switch out +- Hatching option no longer shows on Pet Eggs that aren’t unlocked +- Body armor is now hidden when previewing shirts +- Pet Bundles show which Quests are in them now +- Avatar Customization view works properly on tablets again +- Various other bug and interface fixes diff --git a/version.properties b/version.properties index a9bd5f627..33a6ac814 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -NAME=4.4 -CODE=7981 \ No newline at end of file +NAME=4.4.1 +CODE=7991