diff --git a/Habitica/res/drawable/confetti_blue.xml b/Habitica/res/drawable/confetti_blue.xml
index e78d8b540..3e4932741 100644
--- a/Habitica/res/drawable/confetti_blue.xml
+++ b/Habitica/res/drawable/confetti_blue.xml
@@ -1,6 +1,6 @@
-
+
-
-
\ No newline at end of file
+
+
diff --git a/Habitica/res/drawable/confetti_purple.xml b/Habitica/res/drawable/confetti_purple.xml
index 22c59b135..d7066cd0c 100644
--- a/Habitica/res/drawable/confetti_purple.xml
+++ b/Habitica/res/drawable/confetti_purple.xml
@@ -1,6 +1,6 @@
-
-
-
-
\ No newline at end of file
+
+
+
+
diff --git a/Habitica/res/drawable/confetti_red.xml b/Habitica/res/drawable/confetti_red.xml
index ffd9d742d..0de56e698 100644
--- a/Habitica/res/drawable/confetti_red.xml
+++ b/Habitica/res/drawable/confetti_red.xml
@@ -1,6 +1,6 @@
-
+
-
-
\ No newline at end of file
+
+
diff --git a/Habitica/res/drawable/confetti_yellow.xml b/Habitica/res/drawable/confetti_yellow.xml
index ae6bbc01e..dac8309bb 100644
--- a/Habitica/res/drawable/confetti_yellow.xml
+++ b/Habitica/res/drawable/confetti_yellow.xml
@@ -1,6 +1,6 @@
-
+
-
-
\ No newline at end of file
+
+
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt
index 5583b4203..365b04b8d 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt
@@ -198,25 +198,29 @@ private constructor(parent: ViewGroup, content: View, callback: ContentViewCallb
{
ParticleSystem(container, 30, ContextCompat.getDrawable(container.context, R.drawable.confetti_blue), 6000)
.setAcceleration(0.00070f, 90)
- .setRotationSpeed(144f)
+ .setRotationSpeedRange(134f, 164f)
+ .setScaleRange(0.8f, 1.2f)
.setSpeedByComponentsRange(-0.15f, 0.15f, -0.15f, -0.45f)
.setFadeOut(200, AccelerateInterpolator())
.emitWithGravity(container, Gravity.BOTTOM, 7, 1000)
ParticleSystem(container, 30, ContextCompat.getDrawable(container.context, R.drawable.confetti_red), 6000)
.setAcceleration(0.00060f, 90)
- .setRotationSpeed(144f)
+ .setRotationSpeedRange(134f, 164f)
+ .setScaleRange(0.8f, 1.2f)
.setSpeedByComponentsRange(-0.15f, 0.15f, -0.15f, -0.45f)
.setFadeOut(200, AccelerateInterpolator())
.emitWithGravity(container, Gravity.BOTTOM, 7, 1000)
ParticleSystem(container, 30, ContextCompat.getDrawable(container.context, R.drawable.confetti_yellow), 6000)
.setAcceleration(0.00070f, 90)
- .setRotationSpeed(144f)
+ .setRotationSpeedRange(134f, 164f)
+ .setScaleRange(0.8f, 1.2f)
.setSpeedByComponentsRange(-0.15f, 0.15f, -0.15f, -0.45f)
.setFadeOut(200, AccelerateInterpolator())
.emitWithGravity(container, Gravity.BOTTOM, 7, 1000)
ParticleSystem(container, 30, ContextCompat.getDrawable(container.context, R.drawable.confetti_purple), 6000)
.setAcceleration(0.00090f, 90)
- .setRotationSpeed(144f)
+ .setRotationSpeedRange(134f, 164f)
+ .setScaleRange(0.8f, 1.2f)
.setSpeedByComponentsRange(-0.15f, 0.15f, -0.15f, -0.45f)
.setFadeOut(200, AccelerateInterpolator())
.emitWithGravity(container, Gravity.BOTTOM, 7, 1000)
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt
index 439e23965..9aaedeefe 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt
@@ -39,6 +39,7 @@ import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientS
import com.habitrpg.android.habitica.ui.views.tasks.form.StepperValueFormView
import com.habitrpg.common.habitica.helpers.ExceptionHandler
import com.habitrpg.common.habitica.helpers.launchCatching
+import dagger.hilt.android.internal.managers.ViewComponentManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.MainScope
@@ -148,6 +149,20 @@ class PurchaseDialog(
setLimitedTextView()
}
+ private fun findSnackBarActivity(context: Context): SnackbarActivity? {
+ return when (context) {
+ is SnackbarActivity -> context
+ is ViewComponentManager.FragmentContextWrapper -> findSnackBarActivity(context.baseContext)
+ else -> (context.applicationContext as? HabiticaBaseApplication)?.currentActivity?.get() as? SnackbarActivity
+ }
+ }
+
+ init {
+ findSnackBarActivity(context)?.let {
+ (it as? Activity)?.let { activity -> setOwnerActivity(activity) }
+ }
+ }
+
private fun updatePurchaseTotal() {
priceLabel.value = shopItem.value.toDouble() * purchaseQuantity
@@ -426,7 +441,8 @@ class PurchaseDialog(
content = text,
rightIcon = priceLabel.compoundDrawables[0],
rightTextColor = rightTextColor,
- rightText = "-" + priceLabel.text
+ rightText = "-" + priceLabel.text,
+ isCelebratory = true
)
inventoryRepository.retrieveInAppRewards()
userRepository.retrieveUser(forced = true)