diff --git a/app/src/main/java/com/yizhuan/erban/treasurefairy/FairyViewModel.kt b/app/src/main/java/com/yizhuan/erban/treasurefairy/FairyViewModel.kt index 113571bbc..7a3e53752 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/FairyViewModel.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/FairyViewModel.kt @@ -98,6 +98,7 @@ class FairyViewModel : BaseViewModel() { private val _buyDebrisLiveData = MutableLiveData() val buyDebrisLiveData: LiveData = _buyDebrisLiveData + var firstBuyValue = true init { initPrizeInfoList() @@ -553,6 +554,7 @@ class FairyViewModel : BaseViewModel() { initDrawInfo() _buyDebrisLiveData.value = result + firstBuyValue = false } ) } diff --git a/app/src/main/java/com/yizhuan/erban/treasurefairy/HomeFairyActivity.kt b/app/src/main/java/com/yizhuan/erban/treasurefairy/HomeFairyActivity.kt index acf43c075..61d2cac65 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/HomeFairyActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/HomeFairyActivity.kt @@ -8,10 +8,7 @@ import android.content.pm.ActivityInfo import android.graphics.Path import android.os.Build import android.os.Bundle -import android.text.Editable -import android.text.TextWatcher import android.text.style.ForegroundColorSpan -import android.util.Log import android.view.* import android.widget.LinearLayout import android.widget.TextView @@ -30,6 +27,7 @@ import com.yizhuan.erban.treasure_box.activity.TreasureBoxActivity import com.yizhuan.erban.treasurefairy.dialog.* import com.yizhuan.erban.treasurefairy.view.CustomDrawable import com.yizhuan.erban.ui.webview.FairyDialogWebViewActivity +import com.yizhuan.erban.utils.KeyBoardUtils import com.yizhuan.erban.utils.SpannableBuilder import com.yizhuan.xchat_android_core.UriProvider import com.yizhuan.xchat_android_core.auth.AuthModel @@ -70,8 +68,6 @@ class HomeFairyActivity : BaseViewBindingActivity { - binding.viewPrice1.isSelected = false - binding.viewPrice2.isSelected = false - binding.viewPrice3.isSelected = false - binding.ivDebris1.alpha = 0.4f - binding.ivDebris2.alpha = 0.4f - binding.ivDebris3.alpha = 0.4f - binding.tvOne.alpha = 0.4f - binding.tvTwo.alpha = 0.4f - binding.tvThree.alpha = 0.4f - } + if (pos == 0) { + binding.viewPrice1.isSelected = false + binding.viewPrice2.isSelected = false + binding.viewPrice3.isSelected = false + binding.ivDebris1.alpha = 0.4f + binding.ivDebris2.alpha = 0.4f + binding.ivDebris3.alpha = 0.4f + binding.tvOne.alpha = 0.4f + binding.tvTwo.alpha = 0.4f + binding.tvThree.alpha = 0.4f + return + } + binding.etQuantity.text = null + KeyBoardUtils.hideKeyBoard(this, binding.etQuantity) + binding.etQuantity.clearFocus() + + when (pos) { 1 -> { mPrice = 1 binding.viewPrice1.isSelected = true diff --git a/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisDialog.kt b/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisDialog.kt index 0a95a44ee..ea6c2f5b9 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisDialog.kt @@ -11,6 +11,7 @@ import com.yizhuan.erban.base.BaseDialog import com.yizhuan.erban.databinding.TreasureFairyDialogBuyDebrisBinding import com.yizhuan.erban.treasurefairy.FairyViewModel import com.yizhuan.xchat_android_core.auth.AuthModel +import com.yizhuan.xchat_android_core.manager.AvRoomDataManager import com.yizhuan.xchat_android_library.common.SpConstants import com.yizhuan.xchat_android_library.common.util.SPUtils import com.yizhuan.xchat_android_library.utils.TimeUtils @@ -36,11 +37,14 @@ class FairyBuyDebrisDialog : BaseDialog() { } private val num by lazy { requireArguments().getInt("num") } + private val price by lazy { AvRoomDataManager.get().mSeizeTreasureSwitchVo?.price ?: 0 } + + private var hadBreakFirstValue = false @SuppressLint("CheckResult") override fun init() { binding.tvDebrisNum.text = getString(R.string.buy_debris, num) - binding.tvPrizeName.text = (num * 100).toString() + binding.tvPrizeName.text = (num * price).toString() binding.cbPay.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { @@ -55,19 +59,20 @@ class FairyBuyDebrisDialog : BaseDialog() { } viewModel.buyDebrisLiveData.observe(this) { - val date = SPUtils.getLong(SpConstants.FAIRY_BUY_SUCCESS, 0L) - if (date != 0L) { - if (TimeUtils.isToday(date)) { - ToastUtils.show("購買碎片成功") - } else { - FairyBuySuccessDialog.newInstance(num).show(context) - } - } else { - FairyBuySuccessDialog.newInstance(num).show(context) + if (!viewModel.firstBuyValue && !hadBreakFirstValue) { + hadBreakFirstValue = true + return@observe } + + val date = SPUtils.getLong(SpConstants.FAIRY_BUY_SUCCESS, 0L) + if (TimeUtils.isToday(date)) { + ToastUtils.show("購買碎片成功") + return@observe + } + + FairyBuySuccessDialog.newInstance(num).show(context) dismissAllowingStateLoss() } - } } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt b/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt index 604ebdfe6..0ebe613ea 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/FairyBuyDebrisModifyQuantityDialog.kt @@ -38,6 +38,7 @@ class FairyBuyDebrisModifyQuantityDialog : private var num = 0 private val price by lazy { AvRoomDataManager.get().mSeizeTreasureSwitchVo?.price ?: 0 } + private var hadBreakFirstValue = false @SuppressLint("CheckResult") override fun init() { @@ -63,6 +64,11 @@ class FairyBuyDebrisModifyQuantityDialog : } viewModel.buyDebrisLiveData.observe(this) { + if (!viewModel.firstBuyValue && !hadBreakFirstValue) { + hadBreakFirstValue = true + return@observe + } + val date = SPUtils.getLong(SpConstants.FAIRY_BUY_SUCCESS, 0L) if (date != 0L) { if (TimeUtils.isToday(date)) {