diff --git a/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java b/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java
index ce44eefb5..63b9ec63a 100644
--- a/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java
+++ b/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java
@@ -32,9 +32,6 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.BaseViewHolder;
-import com.chwl.core.utils.extension.StringExtensionKt;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
@@ -45,13 +42,10 @@ import com.chwl.app.application.ReportManager;
import com.chwl.app.base.BaseActivity;
import com.chwl.app.common.widget.CircleImageView;
import com.chwl.app.radish.task.activity.TaskCenterActivity;
-import com.chwl.app.ui.adapter.StarWeekAdapter;
import com.chwl.app.ui.gift.dialog.GiftInfoVm;
import com.chwl.app.ui.gift.dialog.PageIndicatorView;
import com.chwl.app.ui.pay.ChargeActivity;
import com.chwl.app.ui.utils.ImageLoadUtils;
-import com.chwl.app.ui.webview.CommonWebViewActivity;
-import com.chwl.app.ui.webview.DialogWebViewActivity;
import com.chwl.app.ui.widget.dialog.GiftManualQuantityDialog;
import com.chwl.app.ui.widget.drawgift.DrawGiftHelper;
import com.chwl.app.ui.widget.drawgift.DrawGiftView;
@@ -61,16 +55,12 @@ import com.chwl.app.ui.widget.recyclerview.decoration.VerticalDecoration;
import com.chwl.app.utils.RegexUtil;
import com.chwl.app.utils.SpannableBuilder;
import com.chwl.app.vip.VipMainActivity;
-import com.chwl.core.Constants;
-import com.chwl.core.UriProvider;
import com.chwl.core.auth.AuthModel;
import com.chwl.core.bean.RoomQueueInfo;
import com.chwl.core.gift.GiftModel;
import com.chwl.core.gift.bean.GiftInfo;
import com.chwl.core.gift.bean.GiftTab;
import com.chwl.core.gift.bean.GiftType;
-import com.chwl.core.gift.bean.LuckyBagNoticeInfo;
-import com.chwl.core.gift.bean.SimpleUserInfo;
import com.chwl.core.gift.event.UpdateKnapEvent;
import com.chwl.core.gift.event.UpdateKnapFreeGiftDataEvent;
import com.chwl.core.gift.event.UpdateKnapFreeGiftEvent;
@@ -82,9 +72,7 @@ import com.chwl.core.manager.IMNetEaseManager;
import com.chwl.core.manager.RoomEvent;
import com.chwl.core.pay.PayModel;
import com.chwl.core.pay.bean.WalletInfo;
-import com.chwl.core.pay.event.FirstChargeEvent;
import com.chwl.core.pay.event.UpdateWalletInfoEvent;
-import com.chwl.core.room.anotherroompk.ShowUserInfoDialogEvent;
import com.chwl.core.room.pk.model.PkModel;
import com.chwl.core.room.queue.bean.MicMemberInfo;
import com.chwl.core.user.UserModel;
@@ -92,15 +80,11 @@ import com.chwl.core.user.bean.UserInfo;
import com.chwl.core.utils.net.RxHelper;
import com.chwl.library.bindinglist.IItem;
import com.chwl.library.bindinglist.MultiTypeAdapter;
-import com.chwl.library.common.util.DeviceUtil;
-import com.chwl.library.utils.AppMetaDataUtil;
import com.chwl.library.utils.FormatUtils;
import com.chwl.library.utils.ListUtils;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.SingleToastUtil;
import com.chwl.library.utils.TextWatcherWrapper;
-import com.zhpan.bannerview.BannerViewPager;
-import com.zhpan.bannerview.utils.BannerUtils;
import com.zyyoona7.lib.EasyPopup;
import com.zyyoona7.lib.HorizontalGravity;
import com.zyyoona7.lib.VerticalGravity;
@@ -109,13 +93,12 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
@@ -510,6 +493,11 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
});
compositeDisposable.add(GiftModel.get().requestKnapGiftInfos().subscribe());
+ PayModel.get().getMyRemoteWalletInfo().compose(RxHelper.bindContext(context))
+ .subscribe(info -> {
+ goldWalletInfo = info;
+ setGoldOrRadishText(lastSelectedItem);
+ });
}
private void showLoadingAnimation() {
@@ -552,10 +540,25 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
itemType = ITEM_TYPE_GOLD;
tvRecharge.setVisibility(View.VISIBLE);
- tvRecharge.setText(context.getText(R.string.charge));
+ tvRecharge.setText(context.getText(R .string.charge));
if (goldWalletInfo == null) {
return;
}
+ if (goldWalletInfo.canGoldSendGift) {
+ findViewById(R.id.iv_plus).setVisibility(View.VISIBLE);
+ findViewById(R.id.iv_gold).setVisibility(View.VISIBLE);
+ BigDecimal total = BigDecimal.valueOf(goldWalletInfo.getDiamondNum());
+ total = total.add(BigDecimal.valueOf(goldWalletInfo.getGoldNum()));
+ total = total.setScale(0, RoundingMode.DOWN);
+ tvTextGold.setText(total.toPlainString());
+ } else {
+ findViewById(R.id.iv_plus).setVisibility(View.GONE);
+ findViewById(R.id.iv_gold).setVisibility(View.GONE);
+ BigDecimal total = BigDecimal.valueOf(goldWalletInfo.getDiamondNum());
+ total = total.setScale(0, RoundingMode.DOWN);
+ tvTextGold.setText(total.toPlainString());
+ }
+
String goldNumText = getContext().getString(R.string.gold_num_text, goldWalletInfo.getDiamondNum());
SpannableBuilder builder = new SpannableBuilder();
builder.append(context.getText(R.string.gift_wallet_overage), new ForegroundColorSpan(
diff --git a/app/src/main/res/drawable/gift_dialog_ic_plus.xml b/app/src/main/res/drawable/gift_dialog_ic_plus.xml
new file mode 100644
index 000000000..e7fe1929a
--- /dev/null
+++ b/app/src/main/res/drawable/gift_dialog_ic_plus.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_bottom_gift.xml b/app/src/main/res/layout/dialog_bottom_gift.xml
index 273372522..1c4ad2a8f 100644
--- a/app/src/main/res/layout/dialog_bottom_gift.xml
+++ b/app/src/main/res/layout/dialog_bottom_gift.xml
@@ -424,6 +424,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50">
+
+ app:drawableEndCompat="@drawable/ic_arrow_recharge" />
+
+
+
+
+
+
+ android:textSize="@dimen/dp_14"
+ tools:text="10000" />
luckyBagGifts;
private List targetUids;
private LuckyGiftList luckyGiftList;
+ private WalletInfo userPurse;
}
diff --git a/core/src/main/java/com/chwl/core/pay/IPayModel.java b/core/src/main/java/com/chwl/core/pay/IPayModel.java
index ed4044b0c..f9115e02f 100644
--- a/core/src/main/java/com/chwl/core/pay/IPayModel.java
+++ b/core/src/main/java/com/chwl/core/pay/IPayModel.java
@@ -23,6 +23,8 @@ import io.reactivex.Single;
*/
public interface IPayModel extends IModel {
+ void refreshWalletInfo(boolean isNotice);
+
WalletInfo getCurrentWalletInfo();
void minusGold(float price);
diff --git a/core/src/main/java/com/chwl/core/pay/PayModel.java b/core/src/main/java/com/chwl/core/pay/PayModel.java
index 6d09ced2c..b7d688003 100644
--- a/core/src/main/java/com/chwl/core/pay/PayModel.java
+++ b/core/src/main/java/com/chwl/core/pay/PayModel.java
@@ -90,6 +90,15 @@ public class PayModel extends BaseModel implements IPayModel {
EventBus.getDefault().register(this);
}
+ @Override
+ public void refreshWalletInfo(boolean isNotice) {
+ getMyRemoteWalletInfo().subscribe(info -> {
+ if (isNotice) {
+ EventBus.getDefault().post(new UpdateWalletInfoEvent());
+ }
+ });
+ }
+
@Override
public WalletInfo getCurrentWalletInfo() {
return walletInfo;
@@ -134,6 +143,9 @@ public class PayModel extends BaseModel implements IPayModel {
walletInfo.setCrystals(jsonObject.getDoubleValue("crystals"));
walletInfo.nobleGoldNum = jsonObject.getDoubleValue("nobleGoldNum");
walletInfo.chargeGoldNum = jsonObject.getDoubleValue("chargeGoldNum");
+ if (jsonObject.containsKey("canGoldSendGift")) {
+ walletInfo.canGoldSendGift = jsonObject.getBoolean("canGoldSendGift");
+ }
this.walletInfo = walletInfo;
// 兼容新版
setWalletInfo(walletInfo);
diff --git a/core/src/main/java/com/chwl/core/pay/bean/WalletInfo.java b/core/src/main/java/com/chwl/core/pay/bean/WalletInfo.java
index a9fee2f9c..585d5f89e 100644
--- a/core/src/main/java/com/chwl/core/pay/bean/WalletInfo.java
+++ b/core/src/main/java/com/chwl/core/pay/bean/WalletInfo.java
@@ -38,6 +38,10 @@ public class WalletInfo implements Parcelable {
private double canGiveGoldNum;
/** 1:默认line,2:默认facebook */
private int defaultPay;
+ /**
+ * 是否可以在送礼时合并使用金币
+ */
+ public boolean canGoldSendGift;
public WalletInfo() {
}
@@ -53,6 +57,7 @@ public class WalletInfo implements Parcelable {
nobleGoldNum = in.readDouble();
canGiveGoldNum = in.readDouble();
defaultPay = in.readInt();
+ canGoldSendGift = in.readInt() == 1;
}
@Override
@@ -66,6 +71,7 @@ public class WalletInfo implements Parcelable {
dest.writeDouble(nobleGoldNum);
dest.writeDouble(canGiveGoldNum);
dest.writeInt(defaultPay);
+ dest.writeInt(canGoldSendGift ? 1 : 0);
}
@Override