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())) }