新增获取联系方式的弹框新样式

This commit is contained in:
2023-07-18 15:40:15 +08:00
parent 410fcb5895
commit 4729f93515
9 changed files with 341 additions and 23 deletions

View File

@@ -0,0 +1,154 @@
package com.yunbao.live.dialog;
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
import android.app.Dialog;
import android.content.Context;
import android.text.Html;
import android.text.Spanned;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.bean.LiveGiftBean;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.live.R;
import com.yunbao.live.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.List;
public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
TextView title;
TextView giftName;
TextView diamond;
ImageView giftIcon;
int giftId;
String anchorName;
private String mLiveUid;
private String mStream;
LiveGiftBean bean;
public LiveContactDetailsSendGiftDialog(@NonNull Context context) {
super(context);
}
public LiveContactDetailsSendGiftDialog setGiftId(int giftId) {
this.giftId = giftId;
return this;
}
public LiveContactDetailsSendGiftDialog setLiveUid(String mLiveUid) {
this.mLiveUid = mLiveUid;
return this;
}
public LiveContactDetailsSendGiftDialog setStream(String mStream) {
this.mStream = mStream;
return this;
}
public LiveContactDetailsSendGiftDialog setAnchorName(String anchorName) {
this.anchorName = anchorName;
return this;
}
@Override
public void buildDialog(XPopup.Builder builder) {
}
@Override
public int bindLayoutId() {
return R.layout.dialog_live_contact_details_gift;
}
@Override
protected void onCreate() {
super.onCreate();
findViewById(R.id.back).setOnClickListener(v -> dismiss());
findViewById(R.id.send).setOnClickListener(v -> send());
title = findViewById(R.id.title);
giftIcon = findViewById(R.id.gift_icon);
giftName = findViewById(R.id.gift_name);
diamond = findViewById(R.id.diamond);
initData();
}
private void initData() {
LiveHttpUtil.getNewGiftList(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
JSONArray array = obj.getJSONArray("listarray");
List<LiveGiftBean> list = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
list.addAll(JSONArray.parseArray(array.getJSONObject(i).getJSONArray("giftlist").toJSONString(), LiveGiftBean.class));
}
for (LiveGiftBean bean : list) {
if (bean.getId() == giftId) {
setData(bean);
break;
}
}
}
}
@Override
public void onFinish() {
}
});
}
private void setData(LiveGiftBean bean) {
this.bean=bean;
ImgLoader.display(mContext,bean.getIcon(),giftIcon);
diamond.setText(bean.getPrice());
giftName.setText(bean.getName());
Spanned spanned = Html.fromHtml(
"<font color='#5993FF'>"+mContext.getString(R.string.live_details_sned_gift_text1)+"</font>" +
"&nbsp<font color='#FFC300'>" + bean.getName() + "</font>&nbsp" +
"<font color='#5993FF'>"+mContext.getString(R.string.live_details_sned_gift_text2)+"</font>" +
"&nbsp<font color='#FFC300'>" + anchorName + "</font>&nbsp" +
"<font color='#5993FF'>"+mContext.getString(R.string.live_details_sned_gift_text3)+"</font>"
);
title.setText(spanned);
}
private void send() {
LiveHttpUtil.sendGift("0", mLiveUid, mStream, bean.getId(), "1", 1, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 1001 || code==1005) {
new DialogUitl.Builder(mContext)
.setView(R.layout.dialog_live_unfollow)
.setConfirmString(mContext.getString(R.string.charge))
.setContent(mContext.getString(R.string.insufficient_balance))
.setClickCallback(new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
LiveContactDetailsSendGiftDialog.this.dismiss();
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
}
}).build().show();
}else{
dismiss();
}
}
});
}
}

View File

@@ -147,6 +147,7 @@ import com.yunbao.live.bean.WishlistItemModel;
import com.yunbao.live.custom.LiveLightView;
import com.yunbao.live.custom.RightGradual;
import com.yunbao.live.custom.TopGradual;
import com.yunbao.live.dialog.LiveContactDetailsSendGiftDialog;
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
import com.yunbao.live.dialog.LiveGameDialogFragment;
@@ -5073,17 +5074,13 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
.showDialog();
return;
}
LiveGiftDialogFragment fragment = new LiveGiftDialogFragment();
fragment.setOnDismissListener(dialog -> checkNewLetter()
);
fragment.setOnShowListener(dialog -> mHandler.postDelayed(loading::dismiss, 500));
Bundle bundle = new Bundle();
bundle.putString(Constants.LIVE_UID, mLiveUid);
bundle.putString(Constants.LIVE_STREAM, mStream);
bundle.putString(Constants.LIVE_WISH_GIFTID, data.getGiftId() + "");
bundle.putBoolean("isContactGift", true);
fragment.setArguments(bundle);
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveGiftDialogFragment");
new LiveContactDetailsSendGiftDialog(mContext)
.setGiftId(data.getGiftId())
.setAnchorName(mAnchorName)
.setStream(mStream)
.setLiveUid(mLiveUid)
.showDialog();
loading.dismiss();
}
@Override
@@ -5151,17 +5148,13 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
.showDialog();
return;
}
LiveGiftDialogFragment fragment = new LiveGiftDialogFragment();
fragment.setOnDismissListener(dialog -> checkNewLetter()
);
fragment.setOnShowListener(dialog -> mHandler.postDelayed(loading::dismiss, 500));
Bundle bundle = new Bundle();
bundle.putString(Constants.LIVE_UID, mLiveUid);
bundle.putString(Constants.LIVE_STREAM, mStream);
bundle.putString(Constants.LIVE_WISH_GIFTID, data.getGiftId() + "");
bundle.putBoolean("isContactGift", true);
fragment.setArguments(bundle);
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveGiftDialogFragment");
new LiveContactDetailsSendGiftDialog(mContext)
.setGiftId(data.getGiftId())
.setAnchorName(mAnchorName)
.setStream(mStream)
.setLiveUid(mLiveUid)
.showDialog();
loading.dismiss();
}
@Override