修复 寻爱bug
This commit is contained in:
@@ -1,4 +0,0 @@
|
||||
package com.yizhuan.erban.event;
|
||||
|
||||
public class BoxLoveEvent {
|
||||
}
|
@@ -39,7 +39,6 @@ import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseBindingActivity;
|
||||
import com.yizhuan.erban.databinding.ActivityTreasureBoxBinding;
|
||||
import com.yizhuan.erban.event.BoxLoveEvent;
|
||||
import com.yizhuan.erban.treasure_box.widget.dialog.BoxLoveLackDialog;
|
||||
import com.yizhuan.erban.treasure_box.widget.dialog.BoxMoreDialog;
|
||||
import com.yizhuan.erban.treasure_box.widget.dialog.BuyLoveDialog;
|
||||
@@ -160,6 +159,12 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
||||
public void afterTextChanged(Editable s) {
|
||||
try {
|
||||
mNum = Integer.parseInt(s.toString());
|
||||
if (mNum > 200) {
|
||||
mNum = 200;
|
||||
mBinding.edInputNum.setText(String.valueOf(mNum));
|
||||
mBinding.edInputNum.setSelection(mBinding.edInputNum.getText().length());
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.treasure_box_activity_treasureboxactivity_01));
|
||||
}
|
||||
setBoxPriceSelect(0);
|
||||
} catch (NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
@@ -186,7 +191,7 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
||||
.doOnError(throwable -> toast(throwable.getMessage()))
|
||||
.subscribe(userTicketInfo -> {
|
||||
ToastUtils.show("購買成功");
|
||||
loadUserTicket();
|
||||
onTickerInfoUpdated(userTicketInfo);
|
||||
});
|
||||
} else {
|
||||
BuyLoveDialog.Companion.newInstance(mNum, (int) userTicketInfo.getTicketPrice() * mNum).show(this);
|
||||
@@ -203,23 +208,18 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 购买爱心回调
|
||||
*/
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onBoxLoveEvent(BoxLoveEvent event) {
|
||||
loadUserTicket();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void loadUserTicket() {
|
||||
BoxModel.get()
|
||||
.getUserTicket()
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(userTicketInfo -> {
|
||||
.subscribe(userTicketInfo -> onTickerInfoUpdated(userTicketInfo));
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onTickerInfoUpdated(UserTicketInfo userTicketInfo) {
|
||||
this.userTicketInfo = userTicketInfo;
|
||||
mBinding.tvBoxNum.setText(String.valueOf(userTicketInfo.getTicketNum()));
|
||||
});
|
||||
}
|
||||
|
||||
private void setBoxPriceSelect(int pos) {
|
||||
@@ -401,7 +401,7 @@ public class TreasureBoxActivity extends BaseBindingActivity<ActivityTreasureBox
|
||||
.start();
|
||||
}
|
||||
|
||||
ImageLoadUtils.loadAvatar(prizeInfo.getPicUrl(), ((ImageView) linearLayout.findViewById(R.id.iv_icon)));
|
||||
ImageLoadUtils.loadAvatar(prizeInfo.getPicUrl(), linearLayout.findViewById(R.id.iv_icon));
|
||||
((TextView) linearLayout.findViewById(R.id.tv_prize_name)).setText(prizeInfo.getRewardName());
|
||||
((TextView) linearLayout.findViewById(R.id.tv_diamond)).setText(String.valueOf(prizeInfo.getDiamonds()));
|
||||
((TextView) linearLayout.findViewById(R.id.tv_prize_num)).setText("x" + prizeInfo.getNum());
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package com.yizhuan.erban.treasure_box.widget.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
import android.text.Editable
|
||||
import android.view.Gravity
|
||||
@@ -10,7 +9,6 @@ import com.hjq.toast.ToastUtils
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.TreasureBoxDialogLoveLackBinding
|
||||
import com.yizhuan.erban.event.BoxLoveEvent
|
||||
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
|
||||
@@ -35,6 +33,8 @@ class BoxLoveLackDialog : BaseDialog<TreasureBoxDialogLoveLackBinding>() {
|
||||
override var height = WindowManager.LayoutParams.WRAP_CONTENT
|
||||
override var gravity = Gravity.CENTER
|
||||
|
||||
private var num :Int = 0
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun newInstance(num: Int, ticketPrice: Int): BoxLoveLackDialog {
|
||||
@@ -47,11 +47,12 @@ class BoxLoveLackDialog : BaseDialog<TreasureBoxDialogLoveLackBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
private val num by lazy { requireArguments().getInt("num") }
|
||||
private val ticketPrice by lazy { requireArguments().getInt("ticketPrice") }
|
||||
|
||||
@SuppressLint("CheckResult", "SetTextI18n")
|
||||
override fun init() {
|
||||
num = requireArguments().getInt("num")
|
||||
|
||||
binding?.editNum?.setText(num.toString())
|
||||
binding?.tvPrizeName?.text = (num * ticketPrice).toString()
|
||||
|
||||
@@ -74,43 +75,33 @@ class BoxLoveLackDialog : BaseDialog<TreasureBoxDialogLoveLackBinding>() {
|
||||
}
|
||||
|
||||
binding?.tvBuy?.setOnClickListener {
|
||||
val date = SPUtils.getLong(SpConstants.BOX_BUY_LOVE, 0L)
|
||||
if (date != 0L) {
|
||||
if (TimeUtils.isToday(date)) {
|
||||
BoxModel.get()
|
||||
.buyTicket(num)
|
||||
.compose(bindToLifecycle())
|
||||
.doOnError { dealError(it) }
|
||||
.subscribe { userTicketInfo: UserTicketInfo ->
|
||||
dismissAllowingStateLoss()
|
||||
val date = SPUtils.getLong(SpConstants.BOX_BUY_SUCCESS, 0L)
|
||||
if (TimeUtils.isToday(date)) {
|
||||
ToastUtils.show("購買成功")
|
||||
dismissAllowingStateLoss()
|
||||
return@subscribe
|
||||
}
|
||||
} else {
|
||||
BuyLoveDialog.newInstance(
|
||||
binding?.editNum?.text.toString().toInt(),
|
||||
ticketPrice * binding?.editNum?.text.toString().toInt()
|
||||
).show(context)
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
} else {
|
||||
BuyLoveDialog.newInstance(
|
||||
binding?.editNum?.text.toString().toInt(),
|
||||
ticketPrice * binding?.editNum?.text.toString().toInt()
|
||||
).show(context)
|
||||
dismissAllowingStateLoss()
|
||||
BuyLoveSuccessDialog.newInstance(num).show(context)
|
||||
EventBus.getDefault().post(userTicketInfo)
|
||||
}
|
||||
}
|
||||
|
||||
binding?.editNum?.addTextChangedListener(object : TextWatcherWrapper() {
|
||||
override fun afterTextChanged(editable: Editable) {
|
||||
var num = StringUtils.toInt(binding?.editNum?.text.toString(), 0)
|
||||
if (num > 200) {
|
||||
num = 200
|
||||
binding?.editNum?.setText(num.toString())
|
||||
var n = StringUtils.toInt(binding?.editNum?.text.toString(), 0)
|
||||
if (n > 200) {
|
||||
n = 200
|
||||
binding?.editNum?.setText(n.toString())
|
||||
binding?.editNum?.setSelection(3)
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.treasure_box_activity_treasureboxactivity_01))
|
||||
}
|
||||
binding?.tvPrizeName?.text = (num * ticketPrice).toString()
|
||||
binding?.tvPrizeName?.text = (n * ticketPrice).toString()
|
||||
num = n
|
||||
}
|
||||
})
|
||||
|
||||
@@ -138,10 +129,4 @@ class BoxLoveLackDialog : BaseDialog<TreasureBoxDialogLoveLackBinding>() {
|
||||
SingleToastUtil.showToast(error.message)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
EventBus.getDefault().post(BoxLoveEvent())
|
||||
}
|
||||
|
||||
}
|
@@ -1,7 +1,6 @@
|
||||
package com.yizhuan.erban.treasure_box.widget.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.WindowManager
|
||||
@@ -9,7 +8,6 @@ import com.hjq.toast.ToastUtils
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
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
|
||||
@@ -62,7 +60,6 @@ class BuyLoveDialog : BaseDialog<TreasureBoxDialogBuyLoveBinding>() {
|
||||
|
||||
binding?.tvBuy?.setOnClickListener {
|
||||
val date = SPUtils.getLong(SpConstants.BOX_BUY_SUCCESS, 0L)
|
||||
if (date != 0L) {
|
||||
if (TimeUtils.isToday(date)) {
|
||||
BoxModel.get()
|
||||
.buyTicket(num)
|
||||
@@ -71,8 +68,11 @@ class BuyLoveDialog : BaseDialog<TreasureBoxDialogBuyLoveBinding>() {
|
||||
.subscribe { userTicketInfo: UserTicketInfo ->
|
||||
ToastUtils.show("購買成功")
|
||||
dismissAllowingStateLoss()
|
||||
EventBus.getDefault().post(userTicketInfo)
|
||||
}
|
||||
} else {
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
BoxModel.get()
|
||||
.buyTicket(num)
|
||||
.compose(bindToLifecycle())
|
||||
@@ -80,17 +80,7 @@ class BuyLoveDialog : BaseDialog<TreasureBoxDialogBuyLoveBinding>() {
|
||||
.subscribe { userTicketInfo: UserTicketInfo ->
|
||||
BuyLoveSuccessDialog.newInstance(num).show(context)
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
BoxModel.get()
|
||||
.buyTicket(num)
|
||||
.compose(bindToLifecycle())
|
||||
.doOnError { dealError(it) }
|
||||
.subscribe { userTicketInfo: UserTicketInfo ->
|
||||
BuyLoveSuccessDialog.newInstance(num).show(context)
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
EventBus.getDefault().post(userTicketInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -107,9 +97,4 @@ class BuyLoveDialog : BaseDialog<TreasureBoxDialogBuyLoveBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
EventBus.getDefault().post(BoxLoveEvent())
|
||||
}
|
||||
|
||||
}
|
@@ -1,7 +1,6 @@
|
||||
package com.yizhuan.erban.treasure_box.widget.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.WindowManager
|
||||
@@ -9,7 +8,6 @@ import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.TreasureBoxDialogBuyLoveBinding
|
||||
import com.yizhuan.erban.databinding.TreasureBoxDialogBuyLoveSuccessBinding
|
||||
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_library.common.SpConstants
|
||||
@@ -53,12 +51,5 @@ class BuyLoveSuccessDialog : BaseDialog<TreasureBoxDialogBuyLoveSuccessBinding>(
|
||||
binding?.ivClose?.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
EventBus.getDefault().post(BoxLoveEvent())
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user