From 32814780c237e6cdb57cf64e3807f3162a6fa51d Mon Sep 17 00:00:00 2001 From: wzq Date: Thu, 12 Oct 2023 18:30:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=20"=E5=A4=BA=E5=AE=9D?= =?UTF-8?q?=E7=B2=BE=E7=81=B5"=20=E8=B4=AD=E4=B9=B0=E7=A2=8E=E7=89=87=20?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=BC=B9=E7=AA=97=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/treasurefairy/FairyViewModel.kt | 24 +++++++++++++------ .../erban/treasurefairy/HomeFairyActivity.kt | 10 +++++++- .../dialog/FairyBuyDebrisDialog.kt | 16 +------------ .../FairyBuyDebrisModifyQuantityDialog.kt | 22 ++--------------- .../treasurefairy/dialog/HomePrizeDialog.kt | 4 ++-- 5 files changed, 31 insertions(+), 45 deletions(-) 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 3187925b1..ec36e19a6 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/FairyViewModel.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/FairyViewModel.kt @@ -10,7 +10,19 @@ import com.yizhuan.erban.treasurefairy.event.UpdateDataEvent import com.yizhuan.erban.treasurefairy.view.MyFairyItemView import com.yizhuan.xchat_android_core.bean.response.ListResult import com.yizhuan.xchat_android_core.gift.bean.SimpleUserInfo -import com.yizhuan.xchat_android_core.treasurefairy.* +import com.yizhuan.xchat_android_core.treasurefairy.Compound +import com.yizhuan.xchat_android_core.treasurefairy.DrawInfo +import com.yizhuan.xchat_android_core.treasurefairy.ExchangeGiftInfo +import com.yizhuan.xchat_android_core.treasurefairy.FairyInfo +import com.yizhuan.xchat_android_core.treasurefairy.FairyResolveParam +import com.yizhuan.xchat_android_core.treasurefairy.FairyTestParam +import com.yizhuan.xchat_android_core.treasurefairy.ForestInfo +import com.yizhuan.xchat_android_core.treasurefairy.MyFairyInfo +import com.yizhuan.xchat_android_core.treasurefairy.PrizeInfo +import com.yizhuan.xchat_android_core.treasurefairy.ResolveInfo +import com.yizhuan.xchat_android_core.treasurefairy.SendFairyInfo +import com.yizhuan.xchat_android_core.treasurefairy.TestFairyRecordInfo +import com.yizhuan.xchat_android_core.treasurefairy.TreasureFairyModel import com.yizhuan.xchat_android_core.utils.net.ServerException import com.yizhuan.xchat_android_core.utils.toast import org.greenrobot.eventbus.EventBus @@ -95,9 +107,8 @@ class FairyViewModel : BaseViewModel() { val exchangeDebrisRecordLiveData: LiveData> = _exchangeDebrisRecordLiveData - private val _buyDebrisLiveData = MutableLiveData() - val buyDebrisLiveData: LiveData = _buyDebrisLiveData - var firstBuyValue = true + private val _buyDebrisLiveData = MutableLiveData>() + val buyDebrisLiveData: LiveData> = _buyDebrisLiveData init { initPrizeInfoList() @@ -544,7 +555,7 @@ class FairyViewModel : BaseViewModel() { fun buyDebris(num: Int, uid: String) { safeLaunch( block = { - val result = TreasureFairyModel.buyDebris(num, uid) + TreasureFairyModel.buyDebris(num, uid) _drawInfoLiveData.value?.apply { this.drawTicketNum = this.drawTicketNum + num @@ -553,8 +564,7 @@ class FairyViewModel : BaseViewModel() { initDrawInfo() - _buyDebrisLiveData.value = result - firstBuyValue = false + _buyDebrisLiveData.value = Event(num) } ) } 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 8c0d0085a..c5be7f4f0 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/HomeFairyActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/HomeFairyActivity.kt @@ -18,6 +18,7 @@ import androidx.core.content.ContextCompat import androidx.core.graphics.toColorInt import androidx.core.widget.doAfterTextChanged import com.alibaba.fastjson.JSON +import com.hjq.toast.ToastUtils import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder import com.yizhuan.erban.R @@ -157,7 +158,14 @@ class HomeFairyActivity : BaseViewBindingActivity() { 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() { @@ -59,20 +56,9 @@ class FairyBuyDebrisDialog : BaseDialog() { } viewModel.buyDebrisLiveData.observe(this) { - if (!viewModel.firstBuyValue && !hadBreakFirstValue) { - hadBreakFirstValue = true - return@observe - } - - val date = SPUtils.getLong(SpConstants.FAIRY_BUY_SUCCESS, 0L) - if (TimeUtils.isToday(date)) { - ToastUtils.show("購買碎片成功") + it.getContentIfNotHandled()?.let { dismissAllowingStateLoss() - return@observe } - - FairyBuySuccessDialog.newInstance(num).show(context) - dismissAllowingStateLoss() } } 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 2fada0e58..32aaa7a9e 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 @@ -6,7 +6,6 @@ import android.view.Gravity import android.view.WindowManager import androidx.core.widget.doAfterTextChanged import androidx.fragment.app.activityViewModels -import com.hjq.toast.ToastUtils import com.yizhuan.erban.R import com.yizhuan.erban.base.BaseDialog import com.yizhuan.erban.databinding.TreasureFairyDialogBuyDebrisModifyQuantityBinding @@ -15,10 +14,7 @@ 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_core.utils.StringUtils -import com.yizhuan.xchat_android_library.common.SpConstants -import com.yizhuan.xchat_android_library.common.util.SPUtils import com.yizhuan.xchat_android_library.utils.SingleToastUtil -import com.yizhuan.xchat_android_library.utils.TimeUtils /** * 购买碎片 @@ -43,7 +39,6 @@ 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() { @@ -97,22 +92,9 @@ class FairyBuyDebrisModifyQuantityDialog : } viewModel.buyDebrisLiveData.observe(this) { - if (!viewModel.firstBuyValue && !hadBreakFirstValue) { - hadBreakFirstValue = true - return@observe + it.getContentIfNotHandled()?.let { + dismissAllowingStateLoss() } - - 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) - } - dismissAllowingStateLoss() } } diff --git a/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/HomePrizeDialog.kt b/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/HomePrizeDialog.kt index 432789dbc..589b39457 100644 --- a/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/HomePrizeDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/treasurefairy/dialog/HomePrizeDialog.kt @@ -34,7 +34,7 @@ class HomePrizeDialog : BaseDialog() { @SuppressLint("CheckResult") override fun init() { - binding?.rootView?.setOnClickListener { + binding.rootView.setOnClickListener { dismissAllowingStateLoss() } val prizeInfoList = viewModel.resultLiveData.value?.peekContent() @@ -43,7 +43,7 @@ class HomePrizeDialog : BaseDialog() { prizeAdapter = HomePrizeAdapter(isSingle) rvDelegate = RVDelegate.Builder() .setAdapter(prizeAdapter) - .setRecyclerView(binding?.recyclerView) + .setRecyclerView(binding.recyclerView) .setLayoutManager( if (isSingle) { LinearLayoutManager(context)