2025-08-26 19:34:44 +08:00
|
|
|
package com.xscm.moduleutil.dialog;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
import android.content.res.Resources;
|
|
|
|
|
import android.graphics.Paint;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.view.Window;
|
|
|
|
|
import android.view.WindowManager;
|
|
|
|
|
import android.widget.RadioGroup;
|
|
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
|
|
|
|
|
import com.blankj.utilcode.util.ScreenUtils;
|
|
|
|
|
import com.blankj.utilcode.util.ToastUtils;
|
|
|
|
|
import com.xscm.moduleutil.R;
|
|
|
|
|
import com.xscm.moduleutil.adapter.HeavenGiftAdapter;
|
|
|
|
|
import com.xscm.moduleutil.bean.BaseListData;
|
|
|
|
|
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
|
|
|
|
|
import com.xscm.moduleutil.bean.RoonGiftModel;
|
|
|
|
|
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
|
|
|
|
import com.xscm.moduleutil.databinding.DialogFirstChargeBinding;
|
|
|
|
|
import com.xscm.moduleutil.http.BaseObserver;
|
|
|
|
|
import com.xscm.moduleutil.http.RetrofitClient;
|
|
|
|
|
import com.xscm.moduleutil.utils.ColorManager;
|
|
|
|
|
import com.xscm.moduleutil.widget.dialog.BaseDialog;
|
|
|
|
|
import com.zhpan.bannerview.indicator.DrawableIndicator;
|
|
|
|
|
import com.zhpan.indicator.base.IIndicator;
|
|
|
|
|
import com.zhpan.indicator.enums.IndicatorSlideMode;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import io.reactivex.disposables.Disposable;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author
|
|
|
|
|
* @data
|
|
|
|
|
* @description: 首充好礼
|
|
|
|
|
*/
|
|
|
|
|
public class FirstChargeDialog extends BaseDialog<DialogFirstChargeBinding> {
|
|
|
|
|
|
|
|
|
|
HeavenGiftAdapter heavenGiftAdapter;
|
|
|
|
|
FirstChargeGiftBean firstChargeGiftBean;
|
|
|
|
|
private int type;
|
|
|
|
|
|
|
|
|
|
public FirstChargeDialog(@NonNull Context context) {
|
|
|
|
|
super(context, R.style.BaseDialogStyleH);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getLayoutId() {
|
|
|
|
|
return R.layout.dialog_first_charge;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void initView() {
|
|
|
|
|
setCancelable(false);
|
|
|
|
|
setCanceledOnTouchOutside(false);
|
|
|
|
|
Window window = getWindow();
|
|
|
|
|
window.setLayout((int) (ScreenUtils.getScreenWidth() * 375.f / 375), WindowManager.LayoutParams.WRAP_CONTENT);
|
|
|
|
|
mBinding.ivClose.setOnClickListener(v -> dismiss());
|
|
|
|
|
mBinding.tvTitle2.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
|
|
|
|
|
heavenGiftAdapter = new HeavenGiftAdapter();
|
|
|
|
|
mBinding.bannerViewPager
|
|
|
|
|
.setAutoPlay(false)
|
|
|
|
|
.setRevealWidth(0, 0)
|
|
|
|
|
.setIndicatorVisibility(View.VISIBLE)
|
|
|
|
|
.setIndicatorView(getVectorDrawableIndicator())
|
|
|
|
|
.setIndicatorSlideMode(IndicatorSlideMode.NORMAL)
|
|
|
|
|
.setAdapter(heavenGiftAdapter)
|
|
|
|
|
.create();
|
|
|
|
|
|
|
|
|
|
mBinding.rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onCheckedChanged(RadioGroup radioGroup, int i) {
|
|
|
|
|
if (firstChargeGiftBean== null || firstChargeGiftBean.getGift_bag().size() == 0){
|
|
|
|
|
ToastUtils.showShort("暂无礼包");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (i == R.id.btn_0) {
|
|
|
|
|
List<RoonGiftModel> list = new ArrayList<>();
|
|
|
|
|
if (firstChargeGiftBean.getGift_bag().size() > 1) {
|
|
|
|
|
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle1());
|
|
|
|
|
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
|
|
|
|
|
mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName());
|
|
|
|
|
list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list());
|
|
|
|
|
mBinding.bannerViewPager.create(baseListData(list, 4));
|
|
|
|
|
}
|
|
|
|
|
type=1;
|
|
|
|
|
} else if (i == R.id.btn_1) {
|
|
|
|
|
List<RoonGiftModel> list = new ArrayList<>();
|
|
|
|
|
if (firstChargeGiftBean.getGift_bag().size() > 2) {
|
|
|
|
|
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(1).getTitle1());
|
|
|
|
|
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(1).getTitle2());
|
|
|
|
|
mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName());
|
|
|
|
|
list.addAll(firstChargeGiftBean.getGift_bag().get(1).getGift_list());
|
|
|
|
|
mBinding.bannerViewPager.create(baseListData(list, 4));
|
|
|
|
|
}
|
|
|
|
|
type=2;
|
|
|
|
|
} else if (i == R.id.btn_2) {
|
|
|
|
|
List<RoonGiftModel> list = new ArrayList<>();
|
|
|
|
|
if (firstChargeGiftBean.getGift_bag().size() == 3) {
|
|
|
|
|
if (firstChargeGiftBean.getGift_bag().get(2)!=null) {
|
|
|
|
|
mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(2).getTitle1());
|
|
|
|
|
mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(2).getTitle2());
|
|
|
|
|
mBinding.btn2.setText(firstChargeGiftBean.getGift_bag().get(2).getName());
|
|
|
|
|
list.addAll(firstChargeGiftBean.getGift_bag().get(2).getGift_list());
|
|
|
|
|
mBinding.bannerViewPager.create(baseListData(list, 4));
|
|
|
|
|
type = 3;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
mBinding.tvInvite.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View view) {
|
|
|
|
|
// RechargeDialogFragment.show(roomId, getSupportFragmentManager());
|
|
|
|
|
if (listener != null) {
|
|
|
|
|
listener.onFirstChargeConfirmed(firstChargeGiftBean,type);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvInvite, ColorManager.getInstance().getPrimaryColorInt(), 53);
|
|
|
|
|
mBinding.tvInvite.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
|
|
|
|
}
|
|
|
|
|
public interface OnFirstChargeListener {
|
|
|
|
|
void onFirstChargeConfirmed(FirstChargeGiftBean giftBean,int type);
|
|
|
|
|
void onFirstChargeCancelled();
|
|
|
|
|
}
|
|
|
|
|
private OnFirstChargeListener listener;
|
|
|
|
|
// 设置监听器的方法
|
|
|
|
|
public void setOnFirstChargeListener(OnFirstChargeListener listener) {
|
|
|
|
|
this.listener = listener;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void initData() {
|
|
|
|
|
RetrofitClient.getInstance().firstChargeGift(new BaseObserver<FirstChargeGiftBean>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onSubscribe(Disposable d) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onNext(FirstChargeGiftBean firstChargeGiftBean) {
|
|
|
|
|
if (firstChargeGiftBean != null) {
|
|
|
|
|
showGift(firstChargeGiftBean);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<BaseListData<RoonGiftModel>> baseListData(List<RoonGiftModel> list, int chunkSize) {
|
|
|
|
|
List<BaseListData<RoonGiftModel>> baseListData = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < list.size(); i += chunkSize) {
|
|
|
|
|
BaseListData<RoonGiftModel> baseListData1 = new BaseListData<>();
|
|
|
|
|
baseListData1.setData(list.subList(i, Math.min(i + chunkSize, list.size())));
|
|
|
|
|
baseListData.add(baseListData1);
|
|
|
|
|
}
|
|
|
|
|
return baseListData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IIndicator getVectorDrawableIndicator() {
|
|
|
|
|
int dp6 = getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_6);
|
|
|
|
|
return new DrawableIndicator(getContext())
|
|
|
|
|
.setIndicatorGap(getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_2_5))
|
|
|
|
|
.setIndicatorDrawable(com.xscm.moduleutil.R.drawable.banner_indicator_nornal, com.xscm.moduleutil.R.drawable.banner_indicator_focus)
|
|
|
|
|
.setIndicatorSize(getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_13), dp6, getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_13), dp6);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Resources getResources() {
|
|
|
|
|
return getContext().getResources();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void showGift(FirstChargeGiftBean firstChargeGiftBean) {
|
|
|
|
|
this.firstChargeGiftBean = firstChargeGiftBean;
|
|
|
|
|
mBinding.rg.check(R.id.btn_0);
|
|
|
|
|
if (firstChargeGiftBean.getGift_bag() != null && firstChargeGiftBean.getGift_bag().size() > 0) {
|
|
|
|
|
if (firstChargeGiftBean.getGift_bag().size() > 0) {
|
|
|
|
|
type=1;
|
|
|
|
|
List<RoonGiftModel> list = new ArrayList<>();
|
2025-10-13 15:21:46 +08:00
|
|
|
// mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle1());
|
|
|
|
|
// mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
|
|
|
|
|
// mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName());
|
2025-08-26 19:34:44 +08:00
|
|
|
list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list());
|
2025-10-17 14:15:26 +08:00
|
|
|
mBinding.tvTitle22.setText("充值"+firstChargeGiftBean.getGift_bag().get(0).getName()+"即可获得"+firstChargeGiftBean.getGift_bag().get(0).getTitle2()+"的道具或装扮");
|
2025-08-26 19:34:44 +08:00
|
|
|
mBinding.bannerViewPager.create(baseListData(list, 4));
|
|
|
|
|
|
2025-10-13 15:21:46 +08:00
|
|
|
// mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName());
|
|
|
|
|
// mBinding.btn2.setText(firstChargeGiftBean.getGift_bag().get(2).getName());
|
2025-08-26 19:34:44 +08:00
|
|
|
} else if (firstChargeGiftBean.getGift_bag().size() == 2) {
|
|
|
|
|
// mBinding.rg.check(R.id.btn_0);
|
|
|
|
|
// mBinding.btn1.setVisibility(View.VISIBLE);
|
|
|
|
|
// mBinding.btn2.setVisibility(View.INVISIBLE);
|
|
|
|
|
} else if (firstChargeGiftBean.getGift_bag().size() == 3) {
|
|
|
|
|
// mBinding.rg.check(R.id.btn_0);
|
|
|
|
|
// mBinding.btn1.setVisibility(View.VISIBLE);
|
|
|
|
|
// mBinding.btn2.setVisibility(View.VISIBLE);
|
|
|
|
|
}
|
|
|
|
|
// mBinding.rg.check(R.id.btn_0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|