diff --git a/Habitica/build.gradle b/Habitica/build.gradle index c17a07586..820919791 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -165,7 +165,7 @@ android { buildConfigField "String", "TESTING_LEVEL", "\"production\"" resConfigs 'en', 'bg', 'de', 'en-rGB', 'es', 'fr', 'hr-rHR', 'in', 'it', 'iw', 'ja', 'ko', 'lt', 'nl', 'pl', 'pt-rBR', 'pt-rPT', 'ru', 'tr', 'zh', 'zh-rTW' - versionCode 3502 + versionCode 3503 versionName "3.6" targetSdkVersion 32 diff --git a/Habitica/res/layout/activity_armoire.xml b/Habitica/res/layout/activity_armoire.xml index bbcaf28b5..898cd34d9 100644 --- a/Habitica/res/layout/activity_armoire.xml +++ b/Habitica/res/layout/activity_armoire.xml @@ -39,10 +39,15 @@ android:id="@+id/icon_wrapper" android:layout_width="165dp" android:layout_height="158dp" - android:background="@drawable/circle_gray_700" android:layout_marginTop="23dp" android:layout_marginBottom="23dp" - android:visibility="invisible"> + android:visibility="invisible" + tools:visibility="visible"> + + android:paddingTop="36dp"> // If the gift and the purchase happened within 5 minutes, we consider them to match. // Otherwise the gift is probably an old one that wasn't cleared out correctly - if (kotlin.math.abs(gift.first.time - purchase.purchaseTime) < 300000) { + if (kotlin.math.abs(gift.first.time - purchase.purchaseTime) < 5.toDuration(DurationUnit.MINUTES).inWholeMilliseconds) { validationRequest.gift = IAPGift(gift.second) } else { removeGift(validationRequest.sku ?: "") diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt index 819e87c21..c8cd4ab0a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt @@ -20,6 +20,7 @@ import com.habitrpg.android.habitica.helpers.AdType import com.habitrpg.android.habitica.helpers.Animations import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler +import com.habitrpg.android.habitica.ui.helpers.loadImage import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel import com.habitrpg.android.habitica.ui.views.ads.AdButton import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaBottomSheetDialog @@ -27,7 +28,6 @@ import com.plattysoft.leonids.ParticleSystem import kotlinx.coroutines.delay import kotlinx.coroutines.launch import javax.inject.Inject -import com.habitrpg.android.habitica.ui.helpers.loadImage class ArmoireActivity: BaseActivity() { @@ -155,7 +155,7 @@ class ArmoireActivity: BaseActivity() { lifecycleScope.launch { delay(100) if (binding.iconWrapper.isAttachedToWindow) { - Animations.circularReveal(binding.iconWrapper, 400) + Animations.circularReveal(binding.iconWrapper, 300) } binding.leftSparkView.startAnimating() binding.rightSparkView.startAnimating() @@ -163,13 +163,13 @@ class ArmoireActivity: BaseActivity() { binding.titleView.animate().apply { alpha(1f) - duration = 400 + duration = 300 startDelay = 600 start() } binding.subtitleView.animate().apply { alpha(1f) - duration = 400 + duration = 300 startDelay = 900 start() } @@ -206,7 +206,9 @@ class ArmoireActivity: BaseActivity() { else -> { binding.subtitleView.text = getString(R.string.armoireExp_new, value) binding.iconView.setImageResource(R.drawable.armoire_experience) - binding.iconView.layoutParams = RelativeLayout.LayoutParams(108.dpToPx(this), 122.dpToPx(this)) + val layoutParams = RelativeLayout.LayoutParams(108.dpToPx(this), 122.dpToPx(this)) + layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT) + binding.iconView.layoutParams = layoutParams } } }