diff --git a/Habitica/res/drawable-hdpi/fall_gems_21.png b/Habitica/res/drawable-hdpi/fall_gems_21.png new file mode 100644 index 000000000..f766d9486 Binary files /dev/null and b/Habitica/res/drawable-hdpi/fall_gems_21.png differ diff --git a/Habitica/res/drawable-hdpi/fall_gems_4.png b/Habitica/res/drawable-hdpi/fall_gems_4.png new file mode 100644 index 000000000..8c09f0cd5 Binary files /dev/null and b/Habitica/res/drawable-hdpi/fall_gems_4.png differ diff --git a/Habitica/res/drawable-hdpi/fall_gems_42.png b/Habitica/res/drawable-hdpi/fall_gems_42.png new file mode 100644 index 000000000..7025fcba3 Binary files /dev/null and b/Habitica/res/drawable-hdpi/fall_gems_42.png differ diff --git a/Habitica/res/drawable-hdpi/fall_gems_84.png b/Habitica/res/drawable-hdpi/fall_gems_84.png new file mode 100644 index 000000000..e5409b7fc Binary files /dev/null and b/Habitica/res/drawable-hdpi/fall_gems_84.png differ diff --git a/Habitica/res/drawable-hdpi/spooky_gems_21.png b/Habitica/res/drawable-hdpi/spooky_gems_21.png new file mode 100644 index 000000000..3a17e23c9 Binary files /dev/null and b/Habitica/res/drawable-hdpi/spooky_gems_21.png differ diff --git a/Habitica/res/drawable-hdpi/spooky_gems_4.png b/Habitica/res/drawable-hdpi/spooky_gems_4.png new file mode 100644 index 000000000..479663474 Binary files /dev/null and b/Habitica/res/drawable-hdpi/spooky_gems_4.png differ diff --git a/Habitica/res/drawable-hdpi/spooky_gems_42.png b/Habitica/res/drawable-hdpi/spooky_gems_42.png new file mode 100644 index 000000000..8434f2cc5 Binary files /dev/null and b/Habitica/res/drawable-hdpi/spooky_gems_42.png differ diff --git a/Habitica/res/drawable-hdpi/spooky_gems_84.png b/Habitica/res/drawable-hdpi/spooky_gems_84.png new file mode 100644 index 000000000..fc52ff518 Binary files /dev/null and b/Habitica/res/drawable-hdpi/spooky_gems_84.png differ diff --git a/Habitica/res/drawable-xhdpi/fall_gems_21.png b/Habitica/res/drawable-xhdpi/fall_gems_21.png new file mode 100644 index 000000000..69b81a672 Binary files /dev/null and b/Habitica/res/drawable-xhdpi/fall_gems_21.png differ diff --git a/Habitica/res/drawable-xhdpi/fall_gems_4.png b/Habitica/res/drawable-xhdpi/fall_gems_4.png new file mode 100644 index 000000000..cad6e540d Binary files /dev/null and b/Habitica/res/drawable-xhdpi/fall_gems_4.png differ diff --git a/Habitica/res/drawable-xhdpi/fall_gems_42.png b/Habitica/res/drawable-xhdpi/fall_gems_42.png new file mode 100644 index 000000000..02f8c8343 Binary files /dev/null and b/Habitica/res/drawable-xhdpi/fall_gems_42.png differ diff --git a/Habitica/res/drawable-xhdpi/fall_gems_84.png b/Habitica/res/drawable-xhdpi/fall_gems_84.png new file mode 100644 index 000000000..97768873e Binary files /dev/null and b/Habitica/res/drawable-xhdpi/fall_gems_84.png differ diff --git a/Habitica/res/drawable-xhdpi/spooky_gems_21.png b/Habitica/res/drawable-xhdpi/spooky_gems_21.png new file mode 100644 index 000000000..c9ff5ba6b Binary files /dev/null and b/Habitica/res/drawable-xhdpi/spooky_gems_21.png differ diff --git a/Habitica/res/drawable-xhdpi/spooky_gems_4.png b/Habitica/res/drawable-xhdpi/spooky_gems_4.png new file mode 100644 index 000000000..81241006e Binary files /dev/null and b/Habitica/res/drawable-xhdpi/spooky_gems_4.png differ diff --git a/Habitica/res/drawable-xhdpi/spooky_gems_42.png b/Habitica/res/drawable-xhdpi/spooky_gems_42.png new file mode 100644 index 000000000..3bce039f5 Binary files /dev/null and b/Habitica/res/drawable-xhdpi/spooky_gems_42.png differ diff --git a/Habitica/res/drawable-xhdpi/spooky_gems_84.png b/Habitica/res/drawable-xhdpi/spooky_gems_84.png new file mode 100644 index 000000000..a8d3a378e Binary files /dev/null and b/Habitica/res/drawable-xhdpi/spooky_gems_84.png differ diff --git a/Habitica/res/drawable-xxhdpi/fall_gems_21.png b/Habitica/res/drawable-xxhdpi/fall_gems_21.png new file mode 100644 index 000000000..2e59c48c6 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/fall_gems_21.png differ diff --git a/Habitica/res/drawable-xxhdpi/fall_gems_4.png b/Habitica/res/drawable-xxhdpi/fall_gems_4.png new file mode 100644 index 000000000..3b54a666d Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/fall_gems_4.png differ diff --git a/Habitica/res/drawable-xxhdpi/fall_gems_42.png b/Habitica/res/drawable-xxhdpi/fall_gems_42.png new file mode 100644 index 000000000..8dd7c1aa8 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/fall_gems_42.png differ diff --git a/Habitica/res/drawable-xxhdpi/fall_gems_84.png b/Habitica/res/drawable-xxhdpi/fall_gems_84.png new file mode 100644 index 000000000..8757d1300 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/fall_gems_84.png differ diff --git a/Habitica/res/drawable-xxhdpi/spooky_gems_21.png b/Habitica/res/drawable-xxhdpi/spooky_gems_21.png new file mode 100644 index 000000000..701b30ff9 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/spooky_gems_21.png differ diff --git a/Habitica/res/drawable-xxhdpi/spooky_gems_4.png b/Habitica/res/drawable-xxhdpi/spooky_gems_4.png new file mode 100644 index 000000000..6704caf80 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/spooky_gems_4.png differ diff --git a/Habitica/res/drawable-xxhdpi/spooky_gems_42.png b/Habitica/res/drawable-xxhdpi/spooky_gems_42.png new file mode 100644 index 000000000..815b74f08 Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/spooky_gems_42.png differ diff --git a/Habitica/res/drawable-xxhdpi/spooky_gems_84.png b/Habitica/res/drawable-xxhdpi/spooky_gems_84.png new file mode 100644 index 000000000..ab73f510c Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/spooky_gems_84.png differ diff --git a/Habitica/res/drawable-xxxhdpi/fall_gems_21.png b/Habitica/res/drawable-xxxhdpi/fall_gems_21.png new file mode 100644 index 000000000..d086b585a Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/fall_gems_21.png differ diff --git a/Habitica/res/drawable-xxxhdpi/fall_gems_4.png b/Habitica/res/drawable-xxxhdpi/fall_gems_4.png new file mode 100644 index 000000000..b7b33acd4 Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/fall_gems_4.png differ diff --git a/Habitica/res/drawable-xxxhdpi/fall_gems_42.png b/Habitica/res/drawable-xxxhdpi/fall_gems_42.png new file mode 100644 index 000000000..fc13cf769 Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/fall_gems_42.png differ diff --git a/Habitica/res/drawable-xxxhdpi/fall_gems_84.png b/Habitica/res/drawable-xxxhdpi/fall_gems_84.png new file mode 100644 index 000000000..0ec58519d Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/fall_gems_84.png differ diff --git a/Habitica/res/drawable-xxxhdpi/spooky_gems_21.png b/Habitica/res/drawable-xxxhdpi/spooky_gems_21.png new file mode 100644 index 000000000..939b6149a Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/spooky_gems_21.png differ diff --git a/Habitica/res/drawable-xxxhdpi/spooky_gems_4.png b/Habitica/res/drawable-xxxhdpi/spooky_gems_4.png new file mode 100644 index 000000000..428e4a0d8 Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/spooky_gems_4.png differ diff --git a/Habitica/res/drawable-xxxhdpi/spooky_gems_42.png b/Habitica/res/drawable-xxxhdpi/spooky_gems_42.png new file mode 100644 index 000000000..527bce18f Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/spooky_gems_42.png differ diff --git a/Habitica/res/drawable-xxxhdpi/spooky_gems_84.png b/Habitica/res/drawable-xxxhdpi/spooky_gems_84.png new file mode 100644 index 000000000..e5ddaf737 Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/spooky_gems_84.png differ diff --git a/Habitica/res/layout/fragment_gem_purchase.xml b/Habitica/res/layout/fragment_gem_purchase.xml index 1333f53b4..b071f1d1e 100644 --- a/Habitica/res/layout/fragment_gem_purchase.xml +++ b/Habitica/res/layout/fragment_gem_purchase.xml @@ -17,6 +17,7 @@ android:background="@drawable/g1g1_box" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" + android:layout_marginBottom="@dimen/spacing_large" android:clipChildren="true" android:clipToPadding="true" android:clickable="true" @@ -29,14 +30,16 @@ android:scaleType="center" android:layout_alignParentTop="true" android:layout_alignParentStart="true" - android:layout_alignParentBottom="false"/> + android:layout_alignParentBottom="false" + android:importantForAccessibility="no"/> + android:layout_alignParentEnd="true" + android:importantForAccessibility="no"/> "5 GEMS" - 21 -> "30 GEMS" - 42 -> "60 GEMS" - 84 -> "125 GEMS" + when (regularAmount) { + 4 -> { + binding.gemAmount.text = "5" + binding.gemImage.setImageResource(R.drawable.fall_gems_4) + } + 21 -> { + binding.gemAmount.text = "30" + binding.gemImage.setImageResource(R.drawable.fall_gems_21) + } + 42 -> { + binding.gemAmount.text = "60" + binding.gemImage.setImageResource(R.drawable.fall_gems_42) + } + 84 -> { + binding.gemAmount.text = "125" + binding.gemImage.setImageResource(R.drawable.fall_gems_84) + } else -> regularAmount.toString() } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt index 836614ade..4ebcea8fb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/promotions/SpookyExtraGemsHabiticaPromotion.kt @@ -1,5 +1,6 @@ package com.habitrpg.android.habitica.models.promotions +import android.annotation.SuppressLint import android.content.Context import android.graphics.Color import android.graphics.drawable.Drawable @@ -88,18 +89,33 @@ class SpookyExtraGemsHabiticaPromotion(startDate: Date?, endDate: Date?) : Habit override fun configurePurchaseBanner(binding: FragmentSubscriptionBinding) { } + @SuppressLint("SetTextI18n") override fun configureGemView(binding: PurchaseGemViewBinding, regularAmount: Int) { val context = binding.root.context binding.root.background = promoBackgroundDrawable(context) binding.purchaseButton.background = buttonDrawable(context) + binding.purchaseButton.setTextColor(ContextCompat.getColor(context, R.color.white)) binding.gemAmount.setTextColor(Color.parseColor("#FEE2B6")) + binding.gemLabel.setTextColor(Color.parseColor("#FEE2B6")) binding.footerTextView.visibility = View.VISIBLE binding.footerTextView.text = context.getString(R.string.usually_x_gems, regularAmount) - binding.gemAmount.text = when (regularAmount) { - 4 -> "5 GEMS" - 21 -> "30 GEMS" - 42 -> "60 GEMS" - 84 -> "125 GEMS" + when (regularAmount) { + 4 -> { + binding.gemAmount.text = "5" + binding.gemImage.setImageResource(R.drawable.spooky_gems_4) + } + 21 -> { + binding.gemAmount.text = "30" + binding.gemImage.setImageResource(R.drawable.spooky_gems_21) + } + 42 -> { + binding.gemAmount.text = "60" + binding.gemImage.setImageResource(R.drawable.spooky_gems_42) + } + 84 -> { + binding.gemAmount.text = "125" + binding.gemImage.setImageResource(R.drawable.spooky_gems_84) + } else -> regularAmount.toString() } } 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 898acb9f9..7682a4ce8 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 @@ -27,6 +27,7 @@ import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel import com.habitrpg.android.habitica.ui.views.CurrencyViews import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog import com.habitrpg.common.habitica.helpers.RecyclerViewState +import io.reactivex.rxjava3.kotlin.combineLatest import kotlinx.coroutines.flow.filter import kotlinx.coroutines.launch import javax.inject.Inject @@ -270,19 +271,19 @@ open class ShopFragment : BaseMainFragment() private fun loadMarketGear() { compositeSubscription.add( inventoryRepository.retrieveMarketGear() - .zipWith( - inventoryRepository.getOwnedEquipment().map { equipment -> equipment.map { it.key } }, - { shop, equipment -> - for (category in shop.categories) { - val items = category.items.asSequence().filter { - !equipment.contains(it.key) - }.sortedBy { it.locked }.toList() - category.items.clear() - category.items.addAll(items) - } - shop - } + .combineLatest( + inventoryRepository.getOwnedEquipment().map { equipment -> equipment.map { it.key } } ) + .map { (shop, equipment) -> + for (category in shop.categories) { + val items = category.items.asSequence().filter { + !equipment.contains(it.key) + }.sortedBy { it.locked }.toList() + category.items.clear() + category.items.addAll(items) + } + shop + } .subscribe( { this.gearCategories = it.categories diff --git a/fastlane/README.md b/fastlane/README.md index 9db559d7a..8df76ccf8 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -23,6 +23,14 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do Runs all the tests +### android staffapk + +```sh +[bundle exec] fastlane android staffapk +``` + +Build Staff APK for sara + ### android staff ```sh diff --git a/version.properties b/version.properties index 91578a429..cbb87ac43 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -NAME=4.0.2 -CODE=4510 +NAME=4.0.3 +CODE=4521 \ No newline at end of file