package com.xscm.moduleutil.adapter; import android.os.Bundle; import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.blankj.utilcode.util.ToastUtils; import com.xscm.moduleutil.R; import com.xscm.moduleutil.base.BaseMvpFragment; import com.xscm.moduleutil.bean.GiftLabelBean; import com.xscm.moduleutil.bean.GiftPackBean; import com.xscm.moduleutil.bean.RewardUserBean; import com.xscm.moduleutil.bean.RoonGiftModel; import com.xscm.moduleutil.bean.WalletBean; import com.xscm.moduleutil.bean.room.RoomAuction; import com.xscm.moduleutil.databinding.RoomVpGiftBinding; import com.xscm.moduleutil.event.GiftDoubleClickEvent; import com.xscm.moduleutil.event.GiftUserRefreshEvent; import com.xscm.moduleutil.event.RoomGiftClickEvent; import com.xscm.moduleutil.event.RoomGiftClickToEvent; import com.xscm.moduleutil.event.RoomGiftPackToEvent; import com.xscm.moduleutil.presenter.RewardGiftContacts; import com.xscm.moduleutil.presenter.RewardGiftPresenter; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; import java.util.List; public class GiftTwoDetailsFragment extends BaseMvpFragment implements RewardGiftContacts.View { private String id; private GiftTwoAdapter mAdapter; private GiftRoomAdapter roomAdapter; private GiftPackAdapter packAdapter; private String tag; private int pageSize = 100;//一页显示的礼物个数 private int pageCount;//页数 private int type;//1:房间点击进入的;2:打赏进入的 private List giftList=new ArrayList<>(); private List giftPackList=new ArrayList<>(); public static GiftTwoDetailsFragment newInstance(String id,int type) { Bundle args = new Bundle(); args.putString("id", id); args.putInt("type", type); GiftTwoDetailsFragment fragment = new GiftTwoDetailsFragment(); fragment.setArguments(args); return fragment; } @Override public void initArgs(Bundle arguments) { super.initArgs(arguments); id = arguments.getString("id"); type = arguments.getInt("type"); } @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); EventBus.getDefault().register(this); } @Override protected RewardGiftPresenter bindPresenter() { return new RewardGiftPresenter(this, getActivity()); } @Override protected void initData() { if (id.equals("0")){ MvpPre.giftPack(); }else { if (type==0) { MvpPre.getGiftList("0", type); }else { MvpPre.getGiftList(id, type); } } } @Override protected void initView() { } @Override protected int getLayoutId() { return R.layout.room_vp_gift; } public RoonGiftModel getGiftList() { if (giftList != null) { for (RoonGiftModel item : giftList) { if (item.isChecked()) { return item; } } } return null; } public GiftPackBean mGiftList() { if (giftPackList != null) { for (GiftPackBean item : giftPackList) { if (item.isChecked()) { return item; } } } return null; } @Override public void setGiftList(List data,int type) { if (type == 1){ giftList=new ArrayList<>(); giftList.addAll(data); pageCount = (int) Math.ceil(data.size() * 1.0 / pageSize); for (int j = 0; j < pageCount; j++) { roomAdapter = new GiftRoomAdapter(getActivity(), data, j, "0"); mBinding.rvGift.setAdapter(roomAdapter); } }else { giftList=new ArrayList<>(); giftList.addAll(data); pageCount = (int) Math.ceil(data.size() * 1.0 / pageSize); for (int j = 0; j < pageCount; j++) { // mAdapter = new GiftTwoAdapter(getActivity(), data, j, "0"); // mBinding.rvGift.setAdapter(mAdapter); roomAdapter = new GiftRoomAdapter(getActivity(), data, j, "0"); mBinding.rvGift.setAdapter(roomAdapter); } } // EventBus.getDefault().post(new RoomGiftEvent(data)); } @Override public void giveGift() { } @Override public void wallet(WalletBean walletBean) { } @Override public void reward_zone() { ToastUtils.showShort("打赏成功"); } @Override public void roomAuctionJoin(RoomAuction.AuctionListBean auctionListBean) { } @Override public void giftPack(List giftPackBean) { giftPackList=new ArrayList<>(); giftPackList.addAll(giftPackBean); pageCount = (int) Math.ceil(giftPackBean.size() * 1.0 / pageSize); for (int j = 0; j < pageCount; j++) { // mAdapter = new GiftTwoAdapter(getActivity(), data, j, "0"); // mBinding.rvGift.setAdapter(mAdapter); packAdapter = new GiftPackAdapter(getActivity(), giftPackBean, j, "0"); mBinding.rvGift.setAdapter(packAdapter); } } @Override public void getRewardList(List rewardUserBeanList) { } @Override public void getGiftLabel(List giftLabelBeans) { } @Subscribe(threadMode = ThreadMode.MAIN) public void onGiftClicRoomkEvent(RoomGiftClickEvent event) { if (giftList == null){ giftList = new ArrayList<>(); giftList.add(event.gift); } if (event.type == 1) { String id = event.gift.getGift_id(); for (int i = 0; i < giftList.size(); i++) { RoonGiftModel giftModel = giftList.get(i); if (giftModel.getGift_id().equals(id)) { if (!giftModel.isChecked()) { EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift)); giftModel.setChecked(true); } } else { giftModel.setChecked(false); } } if (event.adapter != null && event.adapter.get() != null) { event.adapter.get().notifyDataSetChanged(); } } else if (event.type == 2) { String id = event.gift.getGift_id(); RoonGiftModel selGift = null; for (int i = 0; i < giftList.size(); i++) { RoonGiftModel giftModel = giftList.get(i); if (giftModel.getGift_id().equals(id)) { selGift = giftModel; if (!giftModel.isChecked()) { EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift)); giftModel.setChecked(true); } } else { giftModel.setChecked(false); } } if (event.adapter != null && event.adapter.get() != null) { event.adapter.get().notifyDataSetChanged(); } if (selGift != null) { EventBus.getDefault().post(new GiftDoubleClickEvent()); } } } @Subscribe(threadMode = ThreadMode.MAIN) public void onGiftClicPackEvent(RoomGiftPackToEvent event) { if (giftPackList == null) { giftPackList = new ArrayList<>(); giftPackList.add(event.gift); } if (event.type == 1){ String id = event.gift.getGift_id(); for (int i = 0; i < giftPackList.size(); i++) { GiftPackBean giftModel = giftPackList.get(i); RoonGiftModel roonGiftModel = new RoonGiftModel(); roonGiftModel.setGift_id(giftModel.getGift_id()); roonGiftModel.setGift_name(giftModel.getGift_name()); roonGiftModel.setGift_price(giftModel.getGift_price()); roonGiftModel.setBase_image(giftModel.getBase_image()); roonGiftModel.setNum(Integer.parseInt(giftModel.getNum())); if (giftModel.getGift_id().equals(id)) { if (!giftModel.isChecked()) { EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type,roonGiftModel)); giftModel.setChecked(true); } } else { giftModel.setChecked(false); } } if (event.adapter != null && event.adapter.get() != null) { event.adapter.get().notifyDataSetChanged(); } }else { String id = event.gift.getGift_id(); GiftPackBean selGift = null; for (int i = 0; i < giftPackList.size(); i++) { GiftPackBean giftModel = giftPackList.get(i); RoonGiftModel roonGiftModel = new RoonGiftModel(); roonGiftModel.setGift_id(giftModel.getGift_id()); roonGiftModel.setGift_name(giftModel.getGift_name()); roonGiftModel.setGift_price(giftModel.getGift_price()); roonGiftModel.setBase_image(giftModel.getBase_image()); roonGiftModel.setNum(Integer.parseInt(giftModel.getNum())); if (giftModel.getGift_id().equals(id)) { selGift = giftModel; if (!giftModel.isChecked()) { EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type,roonGiftModel)); giftModel.setChecked(true); } } else { giftModel.setChecked(false); EventBus.getDefault().post(new GiftUserRefreshEvent(false, event.type,null)); } } if (event.adapter != null && event.adapter.get() != null) { event.adapter.get().notifyDataSetChanged(); } if (selGift != null) { EventBus.getDefault().post(new GiftDoubleClickEvent()); } } } @Subscribe(threadMode = ThreadMode.MAIN) public void onGiftClicRoomkTEvent(RoomGiftClickToEvent event) { if (giftList == null){ giftList = new ArrayList<>(); giftList.add(event.gift); } if (event.type == 1) { String id = event.gift.getGift_id(); for (int i = 0; i < giftList.size(); i++) { RoonGiftModel giftModel = giftList.get(i); if (giftModel.getGift_id().equals(id)) { if (giftModel.isChecked()) { giftModel.setChecked(false); EventBus.getDefault().post(new GiftUserRefreshEvent(false, event.type,null)); }else { giftModel.setChecked(true); EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type,event.gift)); } } else { giftModel.setChecked(false); } } if (event.adapter != null && event.adapter.get() != null) { event.adapter.get().notifyDataSetChanged(); } } else if (event.type == 2) { String id = event.gift.getGift_id(); RoonGiftModel selGift = null; for (int i = 0; i < giftList.size(); i++) { RoonGiftModel giftModel = giftList.get(i); if (giftModel.getGift_id().equals(id)) { selGift = giftModel; if (giftModel.isChecked()) { giftModel.setChecked(false); EventBus.getDefault().post(new GiftUserRefreshEvent(false, event.type,null)); }else { giftModel.setChecked(true); EventBus.getDefault().post(new GiftUserRefreshEvent(giftModel.isCan_send_self(), event.type,event.gift)); } } else { giftModel.setChecked(false); } } if (event.adapter != null && event.adapter.get() != null) { event.adapter.get().notifyDataSetChanged(); } if (selGift != null) { EventBus.getDefault().post(new GiftDoubleClickEvent()); } } } }