diff --git a/Habitica/res/layout/activity_gift_gems.xml b/Habitica/res/layout/activity_gift_gems.xml
index 3d4f79166..cf7d3352f 100644
--- a/Habitica/res/layout/activity_gift_gems.xml
+++ b/Habitica/res/layout/activity_gift_gems.xml
@@ -21,7 +21,37 @@
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorContentBackground"
app:layout_scrollFlags="scroll|enterAlways"
- app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>
+ style="@style/Toolbar.Modern"
+ app:popupTheme="@style/Theme.AppCompat.DayNight">
+
+
+
+
+
+
+
+
diff --git a/Habitica/res/layout/activity_main.xml b/Habitica/res/layout/activity_main.xml
index 4fc71b81c..99dd8f028 100644
--- a/Habitica/res/layout/activity_main.xml
+++ b/Habitica/res/layout/activity_main.xml
@@ -79,7 +79,7 @@
getString(R.string.purchase)
1 -> getString(R.string.from_balance)
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/GiftBalanceGemsFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/GiftBalanceGemsFragment.kt
index ad779d349..119235e84 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/GiftBalanceGemsFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/GiftBalanceGemsFragment.kt
@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import com.habitrpg.android.habitica.components.UserComponent
import com.habitrpg.android.habitica.data.SocialRepository
+import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.databinding.FragmentGiftGemBalanceBinding
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.members.Member
@@ -17,9 +18,13 @@ class GiftBalanceGemsFragment : BaseFragment() {
@Inject
lateinit var socialRepository: SocialRepository
+ @Inject
+ lateinit var userRepository: UserRepository
override var binding: FragmentGiftGemBalanceBinding? = null
+ private var isGifting = false
+
override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentGiftGemBalanceBinding {
return FragmentGiftGemBalanceBinding.inflate(inflater, container, false)
}
@@ -48,10 +53,17 @@ class GiftBalanceGemsFragment : BaseFragment() {
}
private fun sendGift() {
+ if (isGifting) return
+ isGifting = true
try {
val amount = binding?.giftEditText?.text.toString().toInt()
giftedMember?.id?.let {
- compositeSubscription.add(socialRepository.transferGems(it, amount).subscribe({
+ compositeSubscription.add(socialRepository.transferGems(it, amount)
+ .flatMap { userRepository.retrieveUser(false, true) }
+ .doOnError {
+ isGifting = false
+ }
+ .subscribe({
onCompleted?.invoke()
}, RxErrorHandler.handleEmptyError()))
}