1:修改送礼中趣味的岁月之城和时空之巅,不需要选择人员就可以打开

2:优化用在房间点击用户,点击抱麦出现的错误
3: 在岁月之城和时空之巅中查看记录的时候,进行判断,当返回的nickname是null的时候,就直接不展示赠与
4:修改任务UI,
5:添加房间暴币功能
6:修改房间暴币飘屏
7:添加启动页动画
8:修改房间的设置
This commit is contained in:
2025-12-22 09:02:22 +08:00
parent f34a67c2e8
commit 53b9f0f034
54 changed files with 1016 additions and 209 deletions

View File

@@ -512,7 +512,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
private void showGiftLotteryDialog(RoonGiftModel gift, String roomId) {
String userId = gifyuseradapter.getUserIdToString();
if (userId == null || userId.isEmpty()) {
if ((userId == null || userId.isEmpty()) && gift.getGift_bag()==10) {
ToastUtils.show("请先选择人员");
gift.setChecked(false);

View File

@@ -1,15 +1,19 @@
package com.xscm.modulemain.dialog;
import static com.xscm.moduleutil.bean.room.RoomSettingBean.QXRoomSettingTypeRoomOrderMic;
import static com.xscm.moduleutil.bean.room.RoomSettingBean.QXRoomSettingTypeRoomTimeRedSound;
import static com.xscm.moduleutil.bean.room.RoomSettingBean.QXRoomSettingTypeRoomTimeSpace;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.*;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.launcher.ARouter;
import com.blankj.utilcode.util.GsonUtils;
@@ -26,6 +30,7 @@ import com.xscm.modulemain.databinding.DialogRoomSettingFragmentBinding;
import com.xscm.modulemain.activity.WebViewActivity;
import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.base.WebUrlConstants;
import com.xscm.moduleutil.bean.BlindBoxStatus;
import com.xscm.moduleutil.dialog.ConfirmDialog;
import com.xscm.moduleutil.event.EffectEvent;
import com.xscm.moduleutil.event.FloatingScreenEvent;
@@ -46,6 +51,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author qx
@@ -57,12 +63,19 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
private String roomId;
RoomSettingAdapter adapter;
List<RoomSettingBean> dataList;
// 创建父级列表
List<RoomSettingBean> parentList = new ArrayList<>();
private RoomInfoResp roomInfoResp;
private int read;
private boolean isSelected;
private boolean effectOn = false;//开启/关闭特效
private boolean redSound = false;//开启/关闭红包声音
private boolean floatingScreen = false;//开启/关闭飘屏
List<RoomSettingBean> filteredList = new ArrayList<>();
List<RoomSettingBean> blindList = new ArrayList<>();//盲盒列表
@Override
protected RoomSettingPresenter bindPresenter() {
return new RoomSettingPresenter(this, getActivity());
@@ -82,7 +95,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
super.onAttach(context);
// roomId=getArguments().getString("roomId");
roomInfoResp = (RoomInfoResp) getArguments().getSerializable("roomInfoResp");
if (roomInfoResp==null){
if (roomInfoResp == null) {
ToastUtils.show("房间信息为空");
return;
}
@@ -101,6 +114,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
} else {
isSelected = false;
}
}
@@ -129,11 +143,51 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
@Override
protected void initData() {
dataList = new ArrayList<>();
effectOn = SpUtil.getOpenEffect() == 1;
floatingScreen = SpUtil.getFloatingScreen() == 1;
redSound = SpUtil.getRedSound() == 1;
boolean b = roomInfoResp.getRoom_info().getRoom_up_pit_type().equals("1");
LogUtils.e("effectOn=" + effectOn);
// 房间类型组
RoomSettingBean roomTypeParent = new RoomSettingBean("房间类型", null, null, null, -1, read, isSelected, false, false);
List<RoomSettingBean> roomTypeChildren = new ArrayList<>();
roomTypeChildren.add(new RoomSettingBean("交友", "ic_sing", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeSing, read, isSelected, false, false));
roomTypeChildren.add(new RoomSettingBean("拍卖", "ic_auction", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeAuction, read, isSelected, false, false));
roomTypeChildren.add(new RoomSettingBean("点唱", "jiao_y", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy, read, isSelected, false, false));
roomTypeChildren.add(new RoomSettingBean("互娱", "ic_jiaoy", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU, read, isSelected, false, false));
roomTypeChildren.add(new RoomSettingBean("练歌房", "ic_liang", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeLianG, read, isSelected, false, false));
roomTypeChildren.add(new RoomSettingBean("签约", "sing_contract", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT, read, isSelected, false, false));
roomTypeParent.setChildren(roomTypeChildren);
parentList.add(roomTypeParent);
// 常用工具组
RoomSettingBean toolsParent = new RoomSettingBean("常用工具", null, null, null, -1, read, isSelected, false, false);
List<RoomSettingBean> toolsChildren = new ArrayList<>();
toolsChildren.add(new RoomSettingBean("房间补贴", "ic_subsidy", null, null, RoomSettingBean.QXRoomSettingTypeRoomSubsidy, read, isSelected, false, false));
toolsChildren.add(new RoomSettingBean("主持设置", "ic_compere", null, null, RoomSettingBean.QXRoomSettingTypeRoomCompere, read, isSelected, false, false));
toolsChildren.add(new RoomSettingBean("清空消息", "ic_clear_message", null, null, RoomSettingBean.QXRoomSettingTypeRoomClearMessage, read, isSelected, false, false));
toolsChildren.add(new RoomSettingBean("排麦模式", "ic_order_mic", null, null, QXRoomSettingTypeRoomOrderMic, read, isSelected, false, roomInfoResp.getRoom_info().getRoom_up_pit_type().equals("1")));
toolsChildren.add(new RoomSettingBean("背景音乐", "ic_bg_music", null, null, RoomSettingBean.QXRoomSettingTypeRoomBgMusic, read, isSelected, false, false));
toolsChildren.add(new RoomSettingBean("背景图片", "ic_bg_image", null, null, RoomSettingBean.QXRoomSettingTypeRoomBgImage, read, isSelected, false, false));
toolsParent.setChildren(toolsChildren);
parentList.add(toolsParent);
// 更多操作组
RoomSettingBean moreParent = new RoomSettingBean("更多操作", null, null, null, -1, read, isSelected, false, false);
List<RoomSettingBean> moreChildren = new ArrayList<>();
moreChildren.add(new RoomSettingBean("发红包", "ic_red", null, null, RoomSettingBean.QXRoomSettingTypeRoomFloatingRed, read, isSelected, false, false));
moreChildren.add(new RoomSettingBean("房间设置", "ic_room_setting", null, null, RoomSettingBean.QXRoomSettingTypeRoomSetting, read, isSelected, false, false));
moreChildren.add(new RoomSettingBean("关闭特效", "ic_close_effects", null, null, RoomSettingBean.QXRoomSettingTypeRoomCloseEffects, read, isSelected, false, effectOn));
moreChildren.add(new RoomSettingBean("关闭飘屏", "ic_close_floating_screen", null, null, RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen, read, isSelected, false, floatingScreen));
moreChildren.add(new RoomSettingBean("举报", "ic_report", null, null, RoomSettingBean.QXRoomSettingTypeRoomReport, read, isSelected, false, false));
moreChildren.add(new RoomSettingBean("岁月之城", "the_city_years", null, null, RoomSettingBean.QXRoomSettingTypeRoomTheCityYears, read, isSelected, false, false));
moreChildren.add(new RoomSettingBean("时空之巅", "time_space", null, null, QXRoomSettingTypeRoomTimeSpace, read, isSelected, false, false));
moreChildren.add(new RoomSettingBean("关闭红包声音", "crossing", null, null, QXRoomSettingTypeRoomTimeRedSound, read, isSelected, false, redSound));
moreParent.setChildren(moreChildren);
parentList.add(moreParent);
/*
// 添加标题和对应的内容项
dataList.add(new RoomSettingBean("房间类型", null, null, null, -1, read, isSelected, false, false));
dataList.add(new RoomSettingBean("交友", "ic_sing", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeSing, read, isSelected, false, false));
@@ -164,9 +218,62 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
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));
dataList.add(new RoomSettingBean("举报", "ic_report", null, null, RoomSettingBean.QXRoomSettingTypeRoomReport, read, isSelected, false, false));
List<RoomSettingBean> filteredList = new ArrayList<>();
// 更新 itemType
for (RoomSettingBean bean : dataList) {
dataList.add(new RoomSettingBean("岁月之城", "the_city_years", null, null, RoomSettingBean.QXRoomSettingTypeRoomTheCityYears, read, isSelected, false, false));
dataList.add(new RoomSettingBean("时空之巅", "time_space", null, null, RoomSettingBean.QXRoomSettingTypeRoomTimeSpace, read, isSelected, false, false));
*/
// 更新 itemType
for (RoomSettingBean bean : parentList) {
bean.setRead(read);
bean.setSelected(isSelected);
switch (read) {
case 1, 2, 3:
bean.setStatus(true);
break;
case 4:
if (bean.getName().equals("房间类型") || bean.getName().equals("常用工具")) {
bean.setStatus(false);
bean.setChildren(null);
} else {
bean.setStatus(true);
}
break;
}
// 如果是父级项目(type = -1)
// 检查父级是否可见
// 处理子项
List<RoomSettingBean> children = bean.getChildren();
List<RoomSettingBean> children2 = new ArrayList<>();
if (children != null && !children.isEmpty()) {
for (RoomSettingBean child : children) {
child.setRead(read);
child.setSelected(isSelected);
if (isItemVisible(child)) {
child.setStatus(true);
if (child.getType() == RoomSettingBean.QXRoomSettingTypeRoomTheCityYears || child.getType() == RoomSettingBean.QXRoomSettingTypeRoomTimeSpace) {
blindList.add(child);
}
children2.add(child);
} else {
child.setStatus(false);
}
child.updateItemType();
}
}
bean.setChildren(children2);
if (bean.isStatus()) {
filteredList.add(bean);
}
}
// 更新 itemType
/* for (RoomSettingBean bean : dataList) {
bean.setRead(read);
bean.setSelected(isSelected);
// 根据角色和状态设置 isVisible
@@ -181,12 +288,9 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
if (bean.isStatus()) {
filteredList.add(bean);
}
}
adapter = new RoomSettingAdapter(filteredList);
mBinding.recycleView.setAdapter(adapter);
// 动态设置 GridLayoutManager 的列数
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 6); // 默认每行 4 个 item
// 动态设置 GridLayoutManager 的列数
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 6); // 默认每行 4 个 item
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
@@ -201,8 +305,186 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
});
// 根据 itemType 动态调整列数
mBinding.recycleView.setLayoutManager(layoutManager);
}*/
adapter = new RoomSettingAdapter();
mBinding.recycleView.setAdapter(adapter);
adapter.setNewData(filteredList);
mBinding.recycleView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
adapter.setOnItemClickListener(new RoomSettingAdapter.OnItemClickListener() {
@Override
public void onItemClick(RoomSettingBean bean, int position) {
// 示例:切换选择状态
if (bean.getType() == QXRoomSettingTypeRoomOrderMic) {
MvpPre.changeRoom(roomId, SpUtil.getUserId() + "", position, bean);
adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
} 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
);
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).clearData();
}
}
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomMyDress) {
// TunerDialogFragment.show(roomId, getChildFragmentManager());
// }
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomCompere) {//主持设置
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();
}
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomLeave) {
// EventBus.getDefault().post(new RoomOutEvent());
// }
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeSing) {
// MvpPre.changeRoomType(roomId, "1");
queren("1");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeAuction) {
// MvpPre.changeRoomType(roomId, "2");
queren("2");
}
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeBoy) {
//// MvpPre.changeRoomType(roomId, "3");
// queren("3");
// }
// else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeGirl) {
//// MvpPre.changeRoomType(roomId, "4");
// queren("4");
// }
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy) {
// MvpPre.changeRoomType(roomId, "7");
queren("9");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU) {
queren("7");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG) {
queren("-1");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT) {
queren("10");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
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);
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(), SpUtil.getToken(), 2, roomId));
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();
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).redDialogView();
}
dismiss();
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTheCityYears) {
try {
// // 直接显示对话框,移除有问题的 FragmentTransaction
// this.dismissAllowingStateLoss(); // 使用 dismissAllowingStateLoss 更安全
//
FragmentManager fm = getParentFragmentManager();
if (fm != null && !fm.isDestroyed()) {
GiftLotteryDialog newDialog = GiftLotteryDialog.newInstance(
"11", roomId, "", "", "");
newDialog.show(fm, "GiftLotteryDialog");
}
} catch (Exception e) {
LogUtils.e("RoomGiftDialogFragment", "Error in showGiftLotteryDialog", e);
ToastUtils.show("操作失败,请重试");
}
} else if (bean.getType() == QXRoomSettingTypeRoomTimeSpace) {
try {
// // 直接显示对话框,移除有问题的 FragmentTransaction
// this.dismissAllowingStateLoss(); // 使用 dismissAllowingStateLoss 更安全
//
FragmentManager fm = getParentFragmentManager();
if (fm != null && !fm.isDestroyed()) {
GiftLotteryDialog newDialog = GiftLotteryDialog.newInstance(
"12", roomId, "", "", "");
newDialog.show(fm, "GiftLotteryDialog");
}
} catch (Exception e) {
LogUtils.e("RoomGiftDialogFragment", "Error in showGiftLotteryDialog", e);
ToastUtils.show("操作失败,请重试");
}
} else if (bean.getType() == QXRoomSettingTypeRoomTimeRedSound) {//关闭红包声音
if (redSound) {
//关闭
redSound = false;
//保存到本地
SpUtil.setRedSound(0);
bean.setSelect(false);
} else {
//打开
redSound = true;
SpUtil.setRedSound(1);
bean.setSelect(true);
}
upAdapter();
// adapter.notifyItemChanged(position);
}
}
});
MvpPre.blindBoxStatus();
/* adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
RoomSettingBean bean = (RoomSettingBean) adapter.getItem(position);
@@ -282,12 +564,11 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
queren("9");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU) {
queren("7");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG){
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG) {
queren("-1");
}else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT){
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT) {
queren("10");
}
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
if (roomInfoResp != null) {
ARouter.getInstance().build(ARouteConstants.CREATED_ROOM).withSerializable("roomInfoResp", roomInfoResp).navigation();
} else {
@@ -296,9 +577,9 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomReport) {
if (roomId != null) {
Intent intent = new Intent(getActivity(), WebViewActivity.class);
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(),SpUtil.getToken(),2, roomId));
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(), SpUtil.getToken(), 2, roomId));
startActivity(intent);
}else {
} else {
com.blankj.utilcode.util.ToastUtils.showShort("数据错误,请关闭重试");
}
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSubsidy) {
@@ -319,19 +600,48 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
bean.setSelect(true);
}
upAdapter();
}
else if (bean.getType()==RoomSettingBean.QXRoomSettingTypeRoomFloatingRed){
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).redDialogView();
}
dismiss();
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTheCityYears) {
try {
// // 直接显示对话框,移除有问题的 FragmentTransaction
// this.dismissAllowingStateLoss(); // 使用 dismissAllowingStateLoss 更安全
//
FragmentManager fm = getParentFragmentManager();
if (fm != null && !fm.isDestroyed()) {
GiftLotteryDialog newDialog = GiftLotteryDialog.newInstance(
"11", roomId, "", "", "");
newDialog.show(fm, "GiftLotteryDialog");
}
} catch (Exception e) {
LogUtils.e("RoomGiftDialogFragment", "Error in showGiftLotteryDialog", e);
ToastUtils.show("操作失败,请重试");
}
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTimeSpace) {
try {
// // 直接显示对话框,移除有问题的 FragmentTransaction
// this.dismissAllowingStateLoss(); // 使用 dismissAllowingStateLoss 更安全
//
FragmentManager fm = getParentFragmentManager();
if (fm != null && !fm.isDestroyed()) {
GiftLotteryDialog newDialog = GiftLotteryDialog.newInstance(
"12", roomId, "", "", "");
newDialog.show(fm, "GiftLotteryDialog");
}
} catch (Exception e) {
LogUtils.e("RoomGiftDialogFragment", "Error in showGiftLotteryDialog", e);
ToastUtils.show("操作失败,请重试");
}
}
}
});
});*/
}
// TODO: 2025/8/29 房间切换提示框
@@ -359,7 +669,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
"取消",
v -> {
if (type.equals("-1")) {
MvpPre.agreeSong(roomId,"1");
MvpPre.agreeSong(roomId, "1");
} else
// 点击“确认”按钮时执行删除操作
MvpPre.changeRoomType(roomId, type);
@@ -388,12 +698,12 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
if (roleLevel == 1) {
if (onMic) {
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress) {
return false;
}
} else {
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress) {
return false;
}
}
@@ -401,25 +711,18 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
} 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 ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG || type== RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy || type == RoomSettingBean.QXRoomSettingTypeRoomSetting ||
type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG || type == RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT ||
type == RoomSettingBean.QXRoomSettingTypeRoomClearMessage || type == QXRoomSettingTypeRoomOrderMic || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen
|| type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomBgImage || type == -1) {
if (onMic) {
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
return false;
}
} else {
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
return false;
}
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress || type == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
return false;
}
// if (onMic) {
// if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
// || type == RoomSettingBean.QXRoomSettingTypeRoomMyDress /*|| type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG*/) {
@@ -434,12 +737,13 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
return true;
}
if (type >= RoomSettingBean.QXRoomSettingTypeRoomLeave &&
type <= RoomSettingBean.QXRoomSettingTypeRoomReport || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed) {
type <= RoomSettingBean.QXRoomSettingTypeRoomReport || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed || type == RoomSettingBean.QXRoomSettingTypeRoomTheCityYears ||
type == QXRoomSettingTypeRoomTimeSpace || type == QXRoomSettingTypeRoomTimeRedSound) {
return true;
} else {
if (type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomSubsidy
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress ) {
|| type == RoomSettingBean.QXRoomSettingTypeRoomMyDress) {
return false;
}
@@ -449,14 +753,14 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
// }
}
return false;
}
else { // 普通用户只显示更多操作中的特定条目
} else { // 普通用户只显示更多操作中的特定条目
return type == RoomSettingBean.QXRoomSettingTypeRoomLeave ||
type == RoomSettingBean.QXRoomSettingTypeRoomShare ||
type == RoomSettingBean.QXRoomSettingTypeRoomCloseEffects ||
type == RoomSettingBean.QXRoomSettingTypeRoomReport ||
type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed||
type == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen;
type == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed ||
type == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen
|| type == RoomSettingBean.QXRoomSettingTypeRoomTheCityYears || type == QXRoomSettingTypeRoomTimeSpace || type == QXRoomSettingTypeRoomTimeRedSound;
}
@@ -529,4 +833,24 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
ToastUtils.show(s);
dismiss();
}
@Override
public void blindBoxStatus(List<BlindBoxStatus> blindBoxStatus) {
for (int i = 0; i < blindBoxStatus.size(); i++) {
int giftBagId = blindBoxStatus.get(i).getGift_bag_id();
int status = blindBoxStatus.get(i).getStatus();
for (int j = 0; j < filteredList.size(); j++) {
for (int k = 0; k < filteredList.get(j).getChildren().size(); k++) {
if ((giftBagId == 11 && filteredList.get(j).getChildren().get(k).getType() == RoomSettingBean.QXRoomSettingTypeRoomTheCityYears) ||
(giftBagId == 12 && filteredList.get(j).getChildren().get(k).getType() == RoomSettingBean.QXRoomSettingTypeRoomTimeSpace)) {
if (status != 1) {
filteredList.get(j).getChildren().remove(k);
}
}
}
}
}
adapter.notifyDataSetChanged();
}
}

View File

@@ -67,7 +67,7 @@ import java.util.Map;
public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresenter, FragmentRoomUserInfoBinding> implements RoomUserContacts.View {
private String room_id, user_id, pit_number;
private UserInfo userInfo;
private UserInfo userInfo=new UserInfo();
CustomPopWindow mCustomPopWindow;
private String is_room_owner;//是否是房主
private String is_host;//是否是主持
@@ -460,6 +460,10 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
}
this.userInfo = userInfo1;
if (userInfo==null || userInfo.getUser_code() == null || userInfo.getUser_id()==0){
ToastUtils.show("用户数据错误,稍后重试");
return;
}
mBinding.ivAvatar.setData(userInfo.getAvatar(), "", userInfo.getNobility_image() + "");
String sex = userInfo.getSex() == 1 ? "" : "";
mBinding.tvId.setText(sex + " ID:" + userInfo.getUser_code());