Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomSettingFragment.java

514 lines
26 KiB
Java
Raw Normal View History

2025-10-28 16:56:13 +08:00
package com.xscm.modulemain.dialog;
2025-10-20 10:16:44 +08:00
import static com.xscm.moduleutil.bean.room.RoomSettingBean.QXRoomSettingTypeRoomOrderMic;
import android.content.Context;
2025-10-24 17:52:11 +08:00
import android.content.Intent;
2025-10-20 10:16:44 +08:00
import android.os.Bundle;
2025-10-24 17:52:11 +08:00
import android.view.*;
2025-10-20 10:16:44 +08:00
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.GridLayoutManager;
import com.alibaba.android.arouter.launcher.ARouter;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.LogUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.hjq.toast.ToastUtils;
2025-10-28 16:56:13 +08:00
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.room.activity.RoomActivity;
import com.xscm.modulemain.activity.room.contacts.RoomSettingContacts;
import com.xscm.modulemain.activity.room.fragment.RoomBackgroundDialogFragment;
import com.xscm.modulemain.activity.room.presenter.RoomSettingPresenter;
import com.xscm.modulemain.adapter.RoomSettingAdapter;
import com.xscm.modulemain.databinding.DialogRoomSettingFragmentBinding;
2025-10-28 19:13:52 +08:00
import com.xscm.modulemain.activity.WebViewActivity;
2025-10-20 10:16:44 +08:00
import com.xscm.moduleutil.base.CommonAppContext;
2025-11-18 18:28:16 +08:00
import com.xscm.moduleutil.base.WebUrlConstants;
2025-10-24 17:52:11 +08:00
import com.xscm.moduleutil.dialog.ConfirmDialog;
2025-10-20 10:16:44 +08:00
import com.xscm.moduleutil.event.EffectEvent;
2025-10-24 17:52:11 +08:00
import com.xscm.moduleutil.event.FloatingScreenEvent;
2025-10-20 10:16:44 +08:00
import com.xscm.moduleutil.event.MusicEvent;
import com.xscm.moduleutil.listener.MessageListenerSingleton;
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
import com.xscm.moduleutil.bean.RoomMessageEvent;
import com.xscm.moduleutil.bean.RoomSettingEvent;
import com.xscm.moduleutil.bean.room.RoomInfoResp;
import com.xscm.moduleutil.bean.room.RoomSettingBean;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.SpUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
/**
* @author qx
* @data 2025/6/17
* @description: 房间设置弹框
*/
public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresenter, DialogRoomSettingFragmentBinding> implements RoomSettingContacts.View {
private String userId;
private String roomId;
RoomSettingAdapter adapter;
List<RoomSettingBean> dataList;
private RoomInfoResp roomInfoResp;
private int read;
private boolean isSelected;
private boolean effectOn = false;//开启/关闭特效
2025-10-24 17:52:11 +08:00
private boolean floatingScreen = false;//开启/关闭飘屏
2025-10-20 10:16:44 +08:00
@Override
protected RoomSettingPresenter bindPresenter() {
return new RoomSettingPresenter(this, getActivity());
}
2025-10-24 17:52:11 +08:00
public static RoomSettingFragment show(RoomInfoResp roomInfoResp, FragmentManager fragmentManager) {
2025-10-20 10:16:44 +08:00
RoomSettingFragment dialogFragment = new RoomSettingFragment();
Bundle args = new Bundle();
args.putSerializable("roomInfoResp", roomInfoResp);
dialogFragment.setArguments(args);
dialogFragment.show(fragmentManager, "RoomSettingFragment");
2025-10-24 17:52:11 +08:00
return dialogFragment;
2025-10-20 10:16:44 +08:00
}
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
// roomId=getArguments().getString("roomId");
roomInfoResp = (RoomInfoResp) getArguments().getSerializable("roomInfoResp");
2025-10-24 17:52:11 +08:00
if (roomInfoResp==null){
ToastUtils.show("房间信息为空");
return;
}
2025-10-20 10:16:44 +08:00
roomId = roomInfoResp.getRoom_info().getRoom_id();
if (roomInfoResp.getUser_info().getIs_room_owner() != 0) {
read = 1;
} else if (roomInfoResp.getUser_info().getIs_management() != 0) {
read = 2;
2025-10-24 17:52:11 +08:00
} else if (roomInfoResp.getUser_info().getIs_host() != 0) {
2025-10-20 10:16:44 +08:00
read = 3;
2025-10-24 17:52:11 +08:00
} else {
2025-10-20 10:16:44 +08:00
read = 4;
}
if (roomInfoResp.getUser_info().getPit_number() != 0) {
isSelected = true;
} else {
isSelected = false;
}
}
@Override
protected void initDialogStyle(Window window) {
super.initDialogStyle(window);
window.setGravity(Gravity.BOTTOM);
}
@Override
public void onStart() {
super.onStart();
Window window = getDialog().getWindow();
if (window != null) {
// 设置固定高度为 500dp
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
// 可选:设置动画样式(从底部弹出)
window.setWindowAnimations(com.xscm.moduleutil.R.style.CommonShowDialogBottom);
}
}
@Override
public void onStop() {
super.onStop();
}
@Override
protected void initData() {
dataList = new ArrayList<>();
effectOn = SpUtil.getOpenEffect() == 1;
2025-10-24 17:52:11 +08:00
floatingScreen = SpUtil.getFloatingScreen() == 1;
2025-10-20 10:16:44 +08:00
boolean b = roomInfoResp.getRoom_info().getRoom_up_pit_type().equals("1");
LogUtils.e("effectOn=" + effectOn);
// 添加标题和对应的内容项
dataList.add(new RoomSettingBean("房间类型", null, null, null, -1, read, isSelected, false, false));
2025-11-18 19:39:16 +08:00
dataList.add(new RoomSettingBean("交友", "ic_sing", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeSing, read, isSelected, false, false));
2025-10-20 10:16:44 +08:00
dataList.add(new RoomSettingBean("拍卖", "ic_auction", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeAuction, read, isSelected, false, false));
2025-10-24 17:52:11 +08:00
// dataList.add(new RoomSettingBean("男神", "ic_boy", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeBoy, read, isSelected, false, false));
// dataList.add(new RoomSettingBean("女神", "ic_girl", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeGirl, read, isSelected, false, false));
2025-11-18 19:39:16 +08:00
dataList.add(new RoomSettingBean("点唱", "jiao_y", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy, read, isSelected, false, false));// 添加的新的房间类型 ,交友 ,是原来的男神女神类型
dataList.add(new RoomSettingBean("互娱", "ic_jiaoy", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU, read, isSelected, false, false)); //原交友,更改互娱 2025年9月19日11:18:01
2025-11-05 11:08:00 +08:00
dataList.add(new RoomSettingBean("练歌房", "ic_liang", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeLianG, read, isSelected, false, false)); //练歌房,原点歌房,同意的时候,走同意点歌的逻辑
2025-10-24 17:52:11 +08:00
2025-10-20 10:16:44 +08:00
dataList.add(new RoomSettingBean("常用工具", null, null, null, -1, read, isSelected, false, false));
dataList.add(new RoomSettingBean("房间补贴", "ic_subsidy", null, null, RoomSettingBean.QXRoomSettingTypeRoomSubsidy, read, isSelected, false, false));
dataList.add(new RoomSettingBean("主持设置", "ic_compere", null, null, RoomSettingBean.QXRoomSettingTypeRoomCompere, read, isSelected, false, false));
dataList.add(new RoomSettingBean("清空消息", "ic_clear_message", null, null, RoomSettingBean.QXRoomSettingTypeRoomClearMessage, read, isSelected, false, false));
2025-10-24 17:52:11 +08:00
dataList.add(new RoomSettingBean("排麦模式", "ic_order_mic", null, null, QXRoomSettingTypeRoomOrderMic, read, isSelected, false, roomInfoResp.getRoom_info().getRoom_up_pit_type().equals("1")));//等于1的时候是排麦模式等于2的时候是自由模式这里判断是否是拍卖模式
2025-10-20 10:16:44 +08:00
dataList.add(new RoomSettingBean("背景音乐", "ic_bg_music", null, null, RoomSettingBean.QXRoomSettingTypeRoomBgMusic, read, isSelected, false, false));
dataList.add(new RoomSettingBean("背景图片", "ic_bg_image", null, null, RoomSettingBean.QXRoomSettingTypeRoomBgImage, read, isSelected, false, false));
dataList.add(new RoomSettingBean("更多操作", null, null, null, -1, read, isSelected, false, false));
2025-10-24 17:52:11 +08:00
dataList.add(new RoomSettingBean("发红包", "ic_red", null, null, RoomSettingBean.QXRoomSettingTypeRoomFloatingRed, read, isSelected, false, false));
// dataList.add(new RoomSettingBean("离开房间", "ic_leave", null, null, RoomSettingBean.QXRoomSettingTypeRoomLeave, read, isSelected, false, false));
2025-10-20 10:16:44 +08:00
// dataList.add(new RoomSettingBean("分享房间", "ic_share", null, null, RoomSettingBean.QXRoomSettingTypeRoomShare, read, isSelected, false, false));
2025-11-05 11:08:00 +08:00
// dataList.add(new RoomSettingBean("调音台", "ic_my_dress", null, null, RoomSettingBean.QXRoomSettingTypeRoomMyDress, read, isSelected, false, false));
2025-10-20 10:16:44 +08:00
dataList.add(new RoomSettingBean("房间设置", "ic_room_setting", null, null, RoomSettingBean.QXRoomSettingTypeRoomSetting, read, isSelected, false, false));
// dataList.add(new RoomSettingBean("房间欢迎语", "ic_welcome", null, null, RoomSettingBean.QXRoomSettingTypeRoomWelcome,read,isSelected, false));
2025-10-24 17:52:11 +08:00
dataList.add(new RoomSettingBean("关闭特效", "ic_close_effects", null, null, RoomSettingBean.QXRoomSettingTypeRoomCloseEffects, read, isSelected, false, effectOn));
dataList.add(new RoomSettingBean("关闭飘屏", "ic_close_floating_screen", null, null, RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen, read, isSelected, false, floatingScreen));
2025-10-20 10:16:44 +08:00
dataList.add(new RoomSettingBean("举报", "ic_report", null, null, RoomSettingBean.QXRoomSettingTypeRoomReport, read, isSelected, false, false));
List<RoomSettingBean> filteredList = new ArrayList<>();
// 更新 itemType
for (RoomSettingBean bean : dataList) {
bean.setRead(read);
bean.setSelected(isSelected);
// 根据角色和状态设置 isVisible
if (isItemVisible(bean)) {
bean.setStatus(true);
} else {
bean.setStatus(false);
}
bean.updateItemType();
if (bean.isStatus()) {
filteredList.add(bean);
}
}
adapter = new RoomSettingAdapter(filteredList);
mBinding.recycleView.setAdapter(adapter);
// 动态设置 GridLayoutManager 的列数
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 6); // 默认每行 4 个 item
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
RoomSettingBean item = filteredList.get(position);
if (item.getItemType() == RoomSettingBean.ITEM_TYPE_DEFAULT) { // 标题项占满一行
return layoutManager.getSpanCount();
} else { // 内容项默认每行 4 个
return 1;
}
}
});
// 根据 itemType 动态调整列数
mBinding.recycleView.setLayoutManager(layoutManager);
adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
RoomSettingBean bean = (RoomSettingBean) adapter.getItem(position);
// 示例:切换选择状态
if (bean.getType() == QXRoomSettingTypeRoomOrderMic) {
MvpPre.changeRoom(roomId, SpUtil.getUserId() + "", position, bean);
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomClearMessage) {
RoomMessageEvent.T t = new RoomMessageEvent.T();
t.setText("清空消息");
RoomMessageEvent roomMessageEvent = new RoomMessageEvent(123, roomId, t);
EventBus.getDefault().post(roomMessageEvent);
String json = GsonUtils.toJson(roomMessageEvent);
// 转换为 byte[]
byte[] binaryData = json.getBytes(StandardCharsets.UTF_8);
// 创建自定义消息
MessageListenerSingleton.getInstance().sendCustomRoomMessage(
roomId,
binaryData
);
2025-10-24 17:52:11 +08:00
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).clearData();
}
2025-11-05 11:08:00 +08:00
}
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomMyDress) {
// TunerDialogFragment.show(roomId, getChildFragmentManager());
// }
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomCompere) {//主持设置
2025-10-20 10:16:44 +08:00
RoomHostFragment.newInstance(roomId).show(getChildFragmentManager(), "RoomHostFragment");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomBgImage) {//背景图片
RoomBackgroundDialogFragment.newInstance(roomId).show(getChildFragmentManager(), "RoomBackgroundDialogFragment");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomCloseEffects) {//关闭特效
if (effectOn) {
//关闭
effectOn = false;
//保存到本地
SpUtil.setOpenEffect(0);
EventBus.getDefault().post(new EffectEvent(false));
bean.setSelect(false);
} else {
//打开
effectOn = true;
SpUtil.setOpenEffect(1);
EventBus.getDefault().post(new EffectEvent(true));
bean.setSelect(true);
}
upAdapter();
// adapter.notifyItemChanged(position);
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomBgMusic) {
EventBus.getDefault().post(new MusicEvent());
dismiss();
2025-10-24 17:52:11 +08:00
}
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomLeave) {
// EventBus.getDefault().post(new RoomOutEvent());
// }
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeSing) {
// MvpPre.changeRoomType(roomId, "1");
queren("1");
2025-10-20 10:16:44 +08:00
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeAuction) {
2025-10-24 17:52:11 +08:00
// MvpPre.changeRoomType(roomId, "2");
queren("2");
2025-10-20 10:16:44 +08:00
}
2025-10-24 17:52:11 +08:00
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeBoy) {
//// MvpPre.changeRoomType(roomId, "3");
// queren("3");
// }
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeGirl) {
//// MvpPre.changeRoomType(roomId, "4");
// queren("4");
// }
2025-10-20 10:16:44 +08:00
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy) {
2025-10-24 17:52:11 +08:00
// MvpPre.changeRoomType(roomId, "7");
2025-11-18 19:39:16 +08:00
queren("9");
2025-10-24 17:52:11 +08:00
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU) {
2025-11-18 19:39:16 +08:00
queren("7");
2025-11-05 11:08:00 +08:00
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG){
queren("-1");
}else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
2025-10-24 17:52:11 +08:00
if (roomInfoResp != null) {
ARouter.getInstance().build(ARouteConstants.CREATED_ROOM).withSerializable("roomInfoResp", roomInfoResp).navigation();
} else {
com.blankj.utilcode.util.ToastUtils.showShort("数据错误,请关闭重试");
}
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomReport) {
if (roomId != null) {
Intent intent = new Intent(getActivity(), WebViewActivity.class);
2025-11-18 18:28:16 +08:00
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(),SpUtil.getToken(),2, roomId));
2025-10-24 17:52:11 +08:00
startActivity(intent);
}else {
com.blankj.utilcode.util.ToastUtils.showShort("数据错误,请关闭重试");
}
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSubsidy) {
ARouter.getInstance().build(ARouteConstants.ROOM_ALLOWANCE).withString("from", "我的界面").withString("roomId", roomInfoResp.getRoom_info().getRoom_id() + "").navigation();
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen) {//2025年9月22日14:10:25添加飘屏关闭打开按钮
if (floatingScreen) {
//关闭
floatingScreen = false;
//保存到本地
SpUtil.setFloatingScreen(0);
EventBus.getDefault().post(new FloatingScreenEvent(false));
bean.setSelect(false);
} else {
//打开
floatingScreen = true;
SpUtil.setFloatingScreen(1);
EventBus.getDefault().post(new FloatingScreenEvent(true));
bean.setSelect(true);
}
upAdapter();
2025-10-20 10:16:44 +08:00
}
2025-10-24 17:52:11 +08:00
else if (bean.getType()==RoomSettingBean.QXRoomSettingTypeRoomFloatingRed){
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).redDialogView();
}
dismiss();
2025-10-20 10:16:44 +08:00
}
}
});
}
2025-10-24 17:52:11 +08:00
// TODO: 2025/8/29 房间切换提示框
private void queren(String type) {
// 创建并显示确认对话框
new ConfirmDialog(getActivity(),
"提示",
2025-11-18 19:39:16 +08:00
"即将修改房间类型为" + (type.equals("1") ? "交友" : (type.equals("2") ? "拍卖" : (type.equals("3") ? "男神" : (type.equals("4") ? "女神" : (type.equals("7") ? "互娱" : (type.equals("9") ? "点唱" :(type.equals("-1") ? "练歌房" : ""))))))),
2025-10-24 17:52:11 +08:00
"确认",
"取消",
v -> {
2025-11-05 11:08:00 +08:00
if (type.equals("-1")) {
MvpPre.agreeSong(roomId,"1");
} else
// 点击“确认”按钮时执行删除操作
MvpPre.changeRoomType(roomId, type);
2025-10-24 17:52:11 +08:00
},
v -> {
// 点击“取消”按钮时什么都不做
}, false, 0).show();
}
2025-10-20 10:16:44 +08:00
private void upAdapter() {
adapter.notifyDataSetChanged();
}
private boolean isItemVisible(RoomSettingBean bean) {
int type = bean.getType();
int roleLevel = bean.getRead(); // 角色等级
boolean onMic = false; // 是否是特定房间
2025-10-24 17:52:11 +08:00
if ((roomInfoResp.getRoom_info().getType_id().equals("1") || roomInfoResp.getRoom_info().getType_id().equals("3")
2025-11-18 19:39:16 +08:00
|| roomInfoResp.getRoom_info().getType_id().equals("4") || roomInfoResp.getRoom_info().getType_id().equals("9")) && roomInfoResp.getRoom_info().getLabel_id().equals("2")) {
2025-10-24 17:52:11 +08:00
onMic = true;
2025-10-20 10:16:44 +08:00
}
2025-10-24 17:52:11 +08:00
// 2025年9月22日14:18:50因为声网sdk不对和点唱有关系的所有需要关闭
2025-10-20 10:16:44 +08:00
// 房主显示全部
if (roleLevel == 1) {
if (onMic) {
2025-11-06 11:53:23 +08:00
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
2025-10-24 17:52:11 +08:00
return false;
}
} else {
2025-11-06 11:53:23 +08:00
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
2025-10-20 10:16:44 +08:00
return false;
}
}
return true;
2025-10-24 17:52:11 +08:00
} else if (roleLevel == 2 || roleLevel == 3) { // type == RoomSettingBean.QXRoomSettingTypeRoomTypeBoy || type == RoomSettingBean.QXRoomSettingTypeRoomTypeGirl || 2025年9月19日11:21:04将男神女神合并成互娱最总是新添加一个标签
if (type == RoomSettingBean.QXRoomSettingTypeRoomTypeSing || type == RoomSettingBean.QXRoomSettingTypeRoomTypeAuction ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy ||
2025-11-05 11:08:00 +08:00
type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG ||
2025-10-24 17:52:11 +08:00
type == RoomSettingBean.QXRoomSettingTypeRoomClearMessage || type == QXRoomSettingTypeRoomOrderMic || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen
|| type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomBgImage || type == -1) {
2025-11-06 11:53:23 +08:00
2025-10-24 17:52:11 +08:00
if (onMic) {
2025-11-06 11:53:23 +08:00
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
2025-10-24 17:52:11 +08:00
return false;
}
} else {
2025-11-06 11:53:23 +08:00
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
2025-10-20 10:16:44 +08:00
return false;
}
}
2025-11-06 11:53:23 +08:00
// if (onMic) {
// if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
// || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress /*|| type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG*/) {
// return false;
// }
// } else {
// if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
// || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress /*|| type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG*/) {
// return false;
// }
// }
2025-10-20 10:16:44 +08:00
return true;
}
if (type >= RoomSettingBean.QXRoomSettingTypeRoomLeave &&
2025-11-06 11:53:23 +08:00
type <= RoomSettingBean.QXRoomSettingTypeRoomReport || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed) {
2025-10-20 10:16:44 +08:00
return true;
2025-10-24 17:52:11 +08:00
} else {
2025-11-06 11:53:23 +08:00
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
2025-10-24 17:52:11 +08:00
return false;
}
2025-11-06 11:53:23 +08:00
// if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
// || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress /*|| type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG*/) {
// return false;
// }
2025-10-20 10:16:44 +08:00
}
return false;
}
else { // 普通用户只显示更多操作中的特定条目
return type == RoomSettingBean.QXRoomSettingTypeRoomLeave ||
type == RoomSettingBean.QXRoomSettingTypeRoomShare ||
type == RoomSettingBean.QXRoomSettingTypeRoomCloseEffects ||
2025-10-24 17:52:11 +08:00
type == RoomSettingBean.QXRoomSettingTypeRoomReport ||
type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed||
type == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen;
2025-10-20 10:16:44 +08:00
}
}
@Override
protected void initView() {
mBinding.cl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PublishCommentDialogFragment.show(roomId, getChildFragmentManager());
}
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRoomSettingEvent(RoomSettingEvent event) {
if (event.getType() == 1014) {
for (int i = 0; i < dataList.size(); i++) {
RoomSettingBean bean = (RoomSettingBean) adapter.getItem(i);
if (bean.getType() == QXRoomSettingTypeRoomOrderMic) {
if (event.getRoom_up_pit_type() == 2) {
bean.setStatus(true);
adapter.notifyItemChanged(i);
} else {
bean.setStatus(false);
adapter.notifyItemChanged(i);
}
2025-11-18 18:28:16 +08:00
return;
2025-10-20 10:16:44 +08:00
}
}
}
}
@Override
protected int getLayoutId() {
return R.layout.dialog_room_setting_fragment;
}
@Override
public void changeRoomSuccess(String s, int position, RoomSettingBean bean) {
2025-10-24 17:52:11 +08:00
if (bean.isSelect()) {
2025-10-20 10:16:44 +08:00
bean.setSelect(false);
adapter.notifyItemChanged(position);
2025-10-24 17:52:11 +08:00
} else {
2025-10-20 10:16:44 +08:00
bean.setSelect(true);
adapter.notifyItemChanged(position);
}
// if (bean.getName().contains("排麦")) {
// bean.setName("自由模式");
// bean.setSelect(false);
// adapter.notifyItemChanged(position);
// } else {
// bean.setName("排麦模式");
// bean.setSelect(true);
// adapter.notifyItemChanged(position);
// }
}
@Override
public void changeRoomType(String s) {
ToastUtils.show(s);
dismiss();
}
2025-11-06 11:53:23 +08:00
@Override
public void agreeSong(String s) {
ToastUtils.show(s);
dismiss();
}
2025-10-20 10:16:44 +08:00
}