From 94a05759094e2f98f9fed82ec9f376c9d28769bf Mon Sep 17 00:00:00 2001 From: wzq Date: Fri, 22 Sep 2023 10:20:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20"=E5=AF=BB=E7=88=B1?= =?UTF-8?q?=E4=B9=8B=E6=97=85"=E6=B4=BB=E5=8A=A8=E9=A1=B5=E9=9D=A2=20UI=20?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=20=E4=BD=99=E9=A2=9D=E4=B8=8D=E8=B6=B3?= =?UTF-8?q?=E6=9C=AA=E5=BC=B9=E5=87=BA=E5=85=85=E5=80=BC=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/drawable-xhdpi/bg_add_num_bg.webp | Bin 0 -> 1016 bytes .../res/drawable-xhdpi/ic_add_num_bg.webp | Bin 3252 -> 0 bytes .../widget/dialog/BoxLoveLackDialog.kt | 23 ++++++-- .../widget/dialog/BuyLoveDialog.kt | 19 +++++-- .../layout/treasure_box_dialog_love_lack.xml | 51 +++++++++--------- .../utils/net/RxHelper.java | 25 +++++---- .../yizhuan/treasure_box/model/BoxModel.java | 2 +- 7 files changed, 78 insertions(+), 42 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/bg_add_num_bg.webp delete mode 100644 app/src/main/res/drawable-xhdpi/ic_add_num_bg.webp diff --git a/app/src/main/res/drawable-xhdpi/bg_add_num_bg.webp b/app/src/main/res/drawable-xhdpi/bg_add_num_bg.webp new file mode 100644 index 0000000000000000000000000000000000000000..dcd7c7fe570c891748b88ace35e87f7b8790b376 GIT binary patch literal 1016 zcmVT&XLK7Zj6a%(B?l39n}E zvbE^CBubRK4YihiSDET#s-7#3pb*iD>aaopt)AP9Uob)T zU8{r;mM;`X-4N=>s+R!rk}i^cS9P*!ftM~7N6pO(aC#L&mXK)(K}3*y*C~hYjwiM+ zuYO4Ya_{mk?jEGNwJW6&ng$C^G<~Tuz)+L5UDUsQ{R^g%d6x${YjuQ*Q5Xr(>3a=3 z>OyejGxw~@>VgHnGWR~GHg6Qg%|I@55B+uc_n1TJg|M z(b%TDR|cImpmv|@ndiRBt}0-tkC8>rXXl6c(vAwSvxHHKb?$dC`Z;E3edq2$Xo9J! z%)0!}I!yy3ZouYtc78l!ao?yZFRvx83j|Q31aj)q){IijXn20M@JkMLHBn+b#xd2H md1q=unhkZ7*wi)n8(y8$sdozl@Xa#T$+Dp@SkvkAY_R}T%J9(u literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_add_num_bg.webp b/app/src/main/res/drawable-xhdpi/ic_add_num_bg.webp deleted file mode 100644 index cfdcb522e6c1bbcb61ec523381b37733fbe9aaa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3252 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 diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxLoveLackDialog.kt b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxLoveLackDialog.kt index e7617ab7a..a9f24487e 100644 --- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxLoveLackDialog.kt +++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxLoveLackDialog.kt @@ -9,12 +9,12 @@ import android.view.WindowManager import com.hjq.toast.ToastUtils import com.yizhuan.erban.R import com.yizhuan.erban.base.BaseDialog -import com.yizhuan.erban.base.Event import com.yizhuan.erban.databinding.TreasureBoxDialogLoveLackBinding import com.yizhuan.erban.event.BoxLoveEvent -import com.yizhuan.erban.treasurefairy.dialog.FairyBuySuccessDialog +import com.yizhuan.erban.treasure_box.widget.dialog.TreasureBoxDialog.Companion.newInstance import com.yizhuan.treasure_box.bean.UserTicketInfo import com.yizhuan.treasure_box.model.BoxModel +import com.yizhuan.xchat_android_core.exception.FailReasonException 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 @@ -57,14 +57,14 @@ class BoxLoveLackDialog : BaseDialog() { binding?.ivSub?.setOnClickListener { val editNum = - (StringUtils.toInt(binding?.editNum?.text.toString(), 0) - 1).coerceAtLeast(1) + (StringUtils.toInt(binding?.editNum?.text.toString(), 0) - 10).coerceAtLeast(1) binding?.editNum?.setText(editNum.toString()) binding?.tvPrizeName?.text = (editNum * ticketPrice).toString() } binding?.ivAdd?.setOnClickListener { val editNum = - (StringUtils.toInt(binding?.editNum?.text.toString(), 0) + 1).coerceAtMost(9999) + (StringUtils.toInt(binding?.editNum?.text.toString(), 0) + 10).coerceAtMost(200) binding?.editNum?.setText(editNum.toString()) binding?.tvPrizeName?.text = (editNum * ticketPrice).toString() } @@ -79,7 +79,8 @@ class BoxLoveLackDialog : BaseDialog() { if (TimeUtils.isToday(date)) { BoxModel.get() .buyTicket(num) - .compose(bindToLifecycle()) + .compose(bindToLifecycle()) + .doOnError { dealError(it) } .subscribe { userTicketInfo: UserTicketInfo -> ToastUtils.show("購買成功") dismissAllowingStateLoss() @@ -124,6 +125,18 @@ class BoxLoveLackDialog : BaseDialog() { }) } + private fun dealError(error: Throwable) { + if (error is FailReasonException) { + if (error.code == BoxModel.ERROR_CODE_DIAMOND) { + newInstance().show(context) + } else { + SingleToastUtil.showToast(error.message) + } + } else { + SingleToastUtil.showToast(error.message) + } + } + override fun onDismiss(dialog: DialogInterface) { super.onDismiss(dialog) EventBus.getDefault().post(BoxLoveEvent()) diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BuyLoveDialog.kt b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BuyLoveDialog.kt index b0c0cb8f5..2768c2891 100644 --- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BuyLoveDialog.kt +++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BuyLoveDialog.kt @@ -12,8 +12,10 @@ import com.yizhuan.erban.databinding.TreasureBoxDialogBuyLoveBinding import com.yizhuan.erban.event.BoxLoveEvent import com.yizhuan.treasure_box.bean.UserTicketInfo import com.yizhuan.treasure_box.model.BoxModel +import com.yizhuan.xchat_android_core.exception.FailReasonException 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 import org.greenrobot.eventbus.EventBus @@ -65,7 +67,7 @@ class BuyLoveDialog : BaseDialog() { BoxModel.get() .buyTicket(num) .compose(bindToLifecycle()) - .doOnError { ToastUtils.show(it.message) } + .doOnError { dealError(it) } .subscribe { userTicketInfo: UserTicketInfo -> ToastUtils.show("購買成功") dismissAllowingStateLoss() @@ -74,7 +76,7 @@ class BuyLoveDialog : BaseDialog() { BoxModel.get() .buyTicket(num) .compose(bindToLifecycle()) - .doOnError { ToastUtils.show(it.message) } + .doOnError { dealError(it) } .subscribe { userTicketInfo: UserTicketInfo -> BuyLoveSuccessDialog.newInstance(num).show(context) dismissAllowingStateLoss() @@ -84,14 +86,25 @@ class BuyLoveDialog : BaseDialog() { BoxModel.get() .buyTicket(num) .compose(bindToLifecycle()) - .doOnError { ToastUtils.show(it.message) } + .doOnError { dealError(it) } .subscribe { userTicketInfo: UserTicketInfo -> BuyLoveSuccessDialog.newInstance(num).show(context) dismissAllowingStateLoss() } } } + } + private fun dealError(error: Throwable) { + if (error is FailReasonException) { + if (error.code == BoxModel.ERROR_CODE_DIAMOND) { + TreasureBoxDialog.newInstance().show(context) + } else { + SingleToastUtil.showToast(error.message) + } + } else { + SingleToastUtil.showToast(error.message) + } } override fun onDismiss(dialog: DialogInterface) { diff --git a/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml b/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml index 130e3df3b..daf075c9c 100644 --- a/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml +++ b/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml @@ -6,23 +6,26 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - @@ -52,8 +55,8 @@ @@ -125,8 +128,8 @@ - * @return - */ @@ -286,6 +292,7 @@ public class RxHelper { /** * 超管不能玩游戏 + * * @param - * @return - */ diff --git a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java index 799037514..df6647f87 100644 --- a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java +++ b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java @@ -93,7 +93,7 @@ public class BoxModel extends BaseModel implements IBoxModel { @Override public Single buyTicket(int num) { return api.buyTicket(num) - .compose(RxHelper.handleBeanData()) + .compose(RxHelper.handleCommon()) .compose(RxHelper.handleSchedulers()); }