1、修改背景图、应用log

2、修改房间报错
3、添加青少年模式
This commit is contained in:
2025-09-19 17:40:02 +08:00
parent fc544229fe
commit 867435ee90
85 changed files with 662 additions and 163 deletions

View File

@@ -558,6 +558,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
// EMqttService.cleanSubscribeRoom(roomId);
CommonAppContext.getInstance().isPlaying = false;
CommonAppContext.getInstance().isShow = false;
QXGiftPlayerManager.getInstance(getApplicationContext()).destroyEffectSvga();
cleanupResources();
// MvpPre.quitRoom(roomId, SpUtil.getUserId() + "");
}
@@ -1172,7 +1173,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
roomFragment.handleMsgType1028(messageEvent);
} else if (msgType == 1059 || msgType == 1058) {// 1059清除个人魅力 1058在离线
if (mRoomInfoResp != null && mRoomInfoResp.getRoom_info() != null) {
if (mRoomInfoResp.getRoom_info().getType_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("3") || mRoomInfoResp.getRoom_info().getType_id().equals("4")) {
if (mRoomInfoResp.getRoom_info().getType_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("3") ||
mRoomInfoResp.getRoom_info().getType_id().equals("4") || mRoomInfoResp.getRoom_info().getType_id().equals("8")) {
if (mRoomInfoResp.getRoom_info().getLabel_id().equals("1")) {
roomFragment.SingSongEvent(messageEvent);
} else {
@@ -1325,7 +1327,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
if ("2".equals(typeId)) {
roomFragment.upRoomInfoData(mRoomInfoResp);
roomFragment.handleAuctionMessageEvent(messageEvent);
} else if ("3".equals(typeId) || "4".equals(typeId) || "1".equals(typeId)) {
} else if ("3".equals(typeId) || "4".equals(typeId) || "1".equals(typeId) || "8".equals(typeId)) {
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
if ("2".equals(labelId)) {
roomFragment.KtvFragmentEvent(messageEvent);
@@ -1374,7 +1376,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
if ("2".equals(typeId)) {
roomFragment.handleAuctionMessageEvent(messageEvent);
return;
} else if ("1".equals(typeId) || "4".equals(typeId) || "3".equals(typeId)) {
} else if ("1".equals(typeId) || "4".equals(typeId) || "3".equals(typeId) || "8".equals(typeId)) {
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
if ("2".equals(labelId)) {
roomFragment.KtvFragmentEvent(messageEvent);
@@ -1437,7 +1439,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
AgoraManager.getInstance(RoomActivity.this).desMusic();
// stub.setVisibility(View.GONE);
if ((mRoomInfoResp.getRoom_info().getType_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("4") || mRoomInfoResp.getRoom_info().getType_id().equals("3")) &&
if ((mRoomInfoResp.getRoom_info().getType_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("4") ||
mRoomInfoResp.getRoom_info().getType_id().equals("3") || mRoomInfoResp.getRoom_info().getType_id().equals("8")) &&
mRoomInfoResp.getRoom_info().getLabel_id().equals("2")) {
for (RoomPitBean roomPitBean : mRoomInfoResp.getSong_pit_list()) {
AgoraManager.getInstance(RoomActivity.this).ClientRole(false);
@@ -1506,7 +1509,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
}
roomFragment.upRoomInfoData(mRoomInfoResp);
roomFragment.handleAuctionMessageEvent(messageEvent);
} else if ("3".equals(typeId) || "4".equals(typeId) || "1".equals(typeId)) {
} else if ("3".equals(typeId) || "4".equals(typeId) || "1".equals(typeId) || "8".equals(typeId)) {
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
if ("2".equals(labelId)) {
roomFragment.KtvFragmentEvent(messageEvent);
@@ -1583,7 +1586,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
}
roomFragment.upRoomInfoData(mRoomInfoResp);
roomFragment.handleAuctionMessageEvent(messageEvent);
} else if ("3".equals(typeId) || "4".equals(typeId) || "1".equals(typeId)) {
} else if ("3".equals(typeId) || "4".equals(typeId) || "1".equals(typeId) || "8".equals(typeId)) {
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
if ("2".equals(labelId)) {
roomFragment.KtvFragmentEvent(messageEvent);
@@ -1702,7 +1705,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
String typeId = mRoomInfoResp.getRoom_info().getType_id();
if ("2".equals(typeId)) {
roomFragment.handleAuctionMessageEvent(messageEvent);
} else if ("1".equals(typeId) || "4".equals(typeId) || "3".equals(typeId)) {
} else if ("1".equals(typeId) || "4".equals(typeId) || "3".equals(typeId) || "8".equals(typeId)) {
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
if ("2".equals(labelId)) {
roomFragment.KtvFragmentEvent(messageEvent);
@@ -1853,7 +1856,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
String typeId = mRoomInfoResp.getRoom_info().getType_id();
if ("2".equals(typeId)) {
roomFragment.handleAuctionMessageEvent(messageEvent);
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId)) {
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId) || "8".equals(typeId)) {
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
if ("2".equals(labelId)) {
roomFragment.KtvFragmentEvent(messageEvent);
@@ -2276,8 +2279,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
// 停止屏幕捕获和其他资源
// AgoraManager.getInstance(this).stopScreenCapture();
AgoraManager.getInstance(this).leaveRoom();
AgoraManager.getInstance(this).stopMusicPlayer();
// AgoraManager.getInstance(this).cleanup();
// AgoraManager.getInstance(this).stopMusicPlayer();
AgoraManager.getInstance(this).cleanup();
MyRoomSingleton.getInstance().onExitRoom();
MessageListenerSingleton.quitGroup(roomId);
@@ -2332,8 +2335,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
// 停止屏幕捕获和其他资源
// AgoraManager.getInstance(this).stopScreenCapture();
AgoraManager.getInstance(this).leaveRoom();
AgoraManager.getInstance(this).stopMusicPlayer();
// AgoraManager.getInstance(this).cleanup();
// AgoraManager.getInstance(this).stopMusicPlayer();
AgoraManager.getInstance(this).cleanup();
MyRoomSingleton.getInstance().onExitRoom();
MessageListenerSingleton.quitGroup(roomId);
@@ -2524,7 +2527,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
// label_id 和 type_id 联合判断
if (Arrays.asList("1", "3", "4").contains(typeId) && "2".equals(labelId)) {
if (Arrays.asList("1", "3", "4","8").contains(typeId) && "2".equals(labelId)) {
rl_more.setVisibility(View.GONE);
}
@@ -3100,7 +3103,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
if (mRoomInfoResp != null && mRoomInfoResp.getRoom_info() != null) {
if (mRoomInfoResp.getRoom_info().getType_id().equals("1")
|| mRoomInfoResp.getRoom_info().getType_id().equals("3") ||
mRoomInfoResp.getRoom_info().getType_id().equals("4")) {
mRoomInfoResp.getRoom_info().getType_id().equals("4")||
mRoomInfoResp.getRoom_info().getType_id().equals("8")) {
if (mRoomInfoResp.getRoom_info().getLabel_id().equals("2")) {
} else {
@@ -3339,7 +3343,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
if (mRoomInfoResp.getRoom_info().getLabel_id().equals("2") || mRoomInfoResp.getRoom_info().getType_id().equals("7")) {
mBinding.rlMore.setVisibility(GONE);
// mBinding.rlMisc.setVisibility(GONE);
} else if (mRoomInfoResp.getRoom_info().getLabel_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("3") || mRoomInfoResp.getRoom_info().getType_id().equals("4")) {
} else if (mRoomInfoResp.getRoom_info().getLabel_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("3") || mRoomInfoResp.getRoom_info().getType_id().equals("4") ||
mRoomInfoResp.getRoom_info().getType_id().equals("8")) {
mBinding.rlMore.setVisibility(GONE);
mBinding.rlMisc.setVisibility(VISIBLE);
}
@@ -3352,7 +3357,8 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
public void upHeight() {
if (mRoomInfoResp.getRoom_info().getType_id().equals("1")) {
if (mRoomInfoResp.getRoom_info().getType_id().equals("1") || mRoomInfoResp.getRoom_info().getType_id().equals("3") || mRoomInfoResp.getRoom_info().getType_id().equals("4")
|| mRoomInfoResp.getRoom_info().getType_id().equals("8")) {
if (mRoomInfoResp.getRoom_info().getLabel_id().equals("1")) {
maxHeightDp = 333;
} else {
@@ -3397,7 +3403,7 @@ public class RoomActivity extends BaseMvpActivity<RoomPresenter, ActivityRoomBin
setvisibTop(true);
roomFragment.refreshData(mRoomInfoResp, QXRoomSeatViewType.AUCTION);
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId)) {
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId) || "8".equals(typeId)) {
if ("2".equals(labelId)) {
changeBackgroundColor(mRoomInfoResp.getRoom_info().getRoom_background());
setvisibTop(true);

View File

@@ -53,6 +53,8 @@ public class RoomSettingAdapter extends BaseMultiItemQuickAdapter<RoomSettingBea
return com.xscm.moduleutil.R.mipmap.ic_girl;
case RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy:
return com.xscm.moduleutil.R.mipmap.ic_jiaoy;
case RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU:
return com.xscm.moduleutil.R.mipmap.huyu;
// 常用工具
case RoomSettingBean.QXRoomSettingTypeRoomSubsidy:
return com.xscm.moduleutil.R.mipmap.ic_subsidy;

View File

@@ -139,9 +139,11 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
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));
dataList.add(new RoomSettingBean("拍卖", "ic_auction", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeAuction, read, isSelected, false, false));
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));
dataList.add(new RoomSettingBean(" 交友", "ic_jiaoy", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy, read, isSelected, false, false));
// 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));
dataList.add(new RoomSettingBean(" 交友", "jiao_y", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU, read, isSelected, false, false));// 添加的新的房间类型 ,交友 ,是原来的男神女神类型
dataList.add(new RoomSettingBean(" 互娱", "ic_jiaoy", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy, read, isSelected, false, false)); //原交友,更改互娱 2025年9月19日11:18:01
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));
@@ -259,20 +261,25 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
} 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) {
}
// 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("7");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU) {
queren("8");
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
ARouter.getInstance().build(ARouteConstants.CREATED_ROOM).withSerializable("roomInfoResp", roomInfoResp).navigation();
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomReport) {
ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/feedback/report?id=" + SpUtil.getToken() + "&fromType=" + 2 + "&fromId=" + roomId).navigation();
}else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSubsidy){
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSubsidy) {
ARouter.getInstance().build(ARouteConstants.ROOM_ALLOWANCE).withString("from", "我的界面").withString("roomId", roomInfoResp.getRoom_info().getRoom_id() + "").navigation();
}
@@ -286,7 +293,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
// 创建并显示确认对话框
new ConfirmDialog(getActivity(),
"提示",
"即将修改房间类型为" + (type.equals("1") ? "点唱" : (type.equals("2") ? "拍卖" : (type.equals("3") ? "男神" : (type.equals("4") ? "女神" : (type.equals("7") ? "交友" : ""))))),
"即将修改房间类型为" + (type.equals("1") ? "点唱" : (type.equals("2") ? "拍卖" : (type.equals("3") ? "男神" : (type.equals("4") ? "女神" : (type.equals("7") ? "互娱" : (type.equals("8") ? "交友" : "")))))),
"确认",
"取消",
v -> {
@@ -307,7 +314,8 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
int roleLevel = bean.getRead(); // 角色等级
boolean onMic = false; // 是否是特定房间
if (roomInfoResp.getRoom_info().getType_id().equals("1") && roomInfoResp.getRoom_info().getLabel_id().equals("2")) {
if ((roomInfoResp.getRoom_info().getType_id().equals("1") || roomInfoResp.getRoom_info().getType_id().equals("3")
|| roomInfoResp.getRoom_info().getType_id().equals("4") || roomInfoResp.getRoom_info().getType_id().equals("8")) && roomInfoResp.getRoom_info().getLabel_id().equals("2")) {
onMic = true;
}
@@ -319,9 +327,9 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
}
}
return true;
} else if (roleLevel == 2 || roleLevel == 3) {
} 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.QXRoomSettingTypeRoomTypeBoy || type == RoomSettingBean.QXRoomSettingTypeRoomTypeGirl ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU ||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy ||
type == RoomSettingBean.QXRoomSettingTypeRoomClearMessage || type == QXRoomSettingTypeRoomOrderMic
|| type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomBgImage || type == -1) {

View File

@@ -226,10 +226,23 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
private void createKtvFragment() {
if (ktvFragment == null) {
ktvFragment = RoomKtvFragment.newInstance();
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, ktvFragment)
.commitAllowingStateLoss();
// 确保 Fragment 已添加且处于活跃状态再进行操作
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, ktvFragment)
.commitAllowingStateLoss();
} else if (getView() != null) {
// 延迟执行直到 Fragment 处于合适状态
getView().post(() -> {
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, ktvFragment)
.commitAllowingStateLoss();
}
});
}
}
}
@@ -243,10 +256,23 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
private void createRoomAuctionFragment() {
if (roomAuctionFragment == null) {
roomAuctionFragment = RoomAuctionFragment.newInstance();
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, roomAuctionFragment)
.commitAllowingStateLoss();
// 确保 Fragment 已添加且处于活跃状态再进行操作
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, roomAuctionFragment)
.commitAllowingStateLoss();
} else if (getView() != null) {
// 延迟执行直到 Fragment 处于合适状态
getView().post(() -> {
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, roomAuctionFragment)
.commitAllowingStateLoss();
}
});
}
}
}
@@ -260,11 +286,23 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
private void createFriendshipRoomFragment() {
if (friendshipRoomFragment == null) {
friendshipRoomFragment = FriendshipRoomFragment.newInstance();
// replaceNestedFragment(friendshipRoomFragment, R.id.container);
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, friendshipRoomFragment)
.commitAllowingStateLoss();
// 确保 Fragment 已添加且处于活跃状态再进行操作
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, friendshipRoomFragment)
.commitAllowingStateLoss();
} else if (getView() != null) {
// 延迟执行直到 Fragment 处于合适状态
getView().post(() -> {
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, friendshipRoomFragment)
.commitAllowingStateLoss();
}
});
}
}
}
@@ -278,11 +316,23 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
private void createRoomCabinFragment() {
if (roomCabinFragment == null) {
roomCabinFragment = RoomCabinFragment.newInstance();
// replaceNestedFragment(roomCabinFragment, R.id.container);
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, roomCabinFragment)
.commitAllowingStateLoss();
// 确保 Fragment 已添加且处于活跃状态再进行操作
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, roomCabinFragment)
.commitAllowingStateLoss();
} else if (getView() != null) {
// 延迟执行直到 Fragment 处于合适状态
getView().post(() -> {
if (isAdded() && getActivity() != null) {
getChildFragmentManager()
.beginTransaction()
.replace(R.id.container, roomCabinFragment)
.commitAllowingStateLoss();
}
});
}
}
}
@@ -473,7 +523,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
if (auctionRoomFragment != null && auctionRoomFragment.isAdded()) {
auctionRoomFragment.roomInfoUpdate(mRoomInfoResp);
}
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId)) {
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId) || "8".equals(typeId)) {
if ("2".equals(labelId)) {
RoomKtvFragment roomKtvFragment = findFragmentByTag(RoomKtvFragment.class);
if (roomKtvFragment != null && roomKtvFragment.isAdded()) {
@@ -557,46 +607,111 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
private void loadSubFragment(QXRoomSeatViewType qxRoomSeatViewType) {
this.qxRoomSeatViewType = qxRoomSeatViewType;
// switch (qxRoomSeatViewType) {
// 检查Fragment是否已经附加到Activity
if (!isAdded() || getActivity() == null) {
// 如果Fragment还没有附加则延迟执行
if (getView() != null) {
getView().post(() -> {
if (isAdded() && getActivity() != null) {
performLoadSubFragment(qxRoomSeatViewType);
}
});
}
return;
}
performLoadSubFragment(qxRoomSeatViewType);
// if (mRoomInfoResp == null || mRoomInfoResp.getRoom_info() == null) return;
// String typeId = mRoomInfoResp.getRoom_info().getType_id();
// String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
//
// case KTV:
// if (ktvFragment != null && ktvFragment.isAdded()) {
// ktvFragment.roomInfoUpdate(mRoomInfoResp);
// }else {
// setqxRoomSeatViewType(qxRoomSeatViewType);
// }
// break;
// case AUCTION:
// if (roomAuctionFragment != null && roomAuctionFragment.isAdded()) {
// roomAuctionFragment.roomInfoUpdate(mRoomInfoResp);
// }else {
// setqxRoomSeatViewType(qxRoomSeatViewType);
// }
// break;
// case CABIN:
// if (roomCabinFragment != null && roomCabinFragment.isAdded()) {
// roomCabinFragment.roomInfoUpdate(mRoomInfoResp);
// }else {
// setqxRoomSeatViewType(qxRoomSeatViewType);
// }
// break;
// case FRIEND:
// if (friendshipRoomFragment != null && friendshipRoomFragment.isAdded()) {
// friendshipRoomFragment.roomInfoUpdate(mRoomInfoResp);
// }else {
// setqxRoomSeatViewType(qxRoomSeatViewType);
// }
// break;
// case NORMAL:
// if (singSongFragment != null && singSongFragment.isAdded()) {
// singSongFragment.roomInfoUpdate(mRoomInfoResp);
// }else {
// setqxRoomSeatViewType(qxRoomSeatViewType);
// }
// break;
// default:
// break;
// Fragment newFragment = null;
//
// if ("1".equals(typeId)) {
// if ("1".equals(labelId)) {
// singSongFragment = SingSongFragment.newInstance();
// newFragment = singSongFragment;
// } else if ("2".equals(labelId)) {
// ktvFragment = RoomKtvFragment.newInstance();
// newFragment = ktvFragment;
// }
// } else if ("2".equals(typeId)) {
// roomAuctionFragment = RoomAuctionFragment.newInstance();
// newFragment = roomAuctionFragment;
// } else if ("6".equals(typeId)) {
// roomCabinFragment = RoomCabinFragment.newInstance();
// newFragment = roomCabinFragment;
// setviewyc();
// } else if ("3".equals(typeId)) {
// if ("1".equals(labelId)) {
// singSongFragment = SingSongFragment.newInstance();
// newFragment = singSongFragment;
// } else if ("2".equals(labelId)) {
// ktvFragment = RoomKtvFragment.newInstance();
// newFragment = ktvFragment;
// }
// } else if ("4".equals(typeId)) {
// if ("1".equals(labelId)) {
// singSongFragment = SingSongFragment.newInstance();
// newFragment = singSongFragment;
// } else if ("2".equals(labelId)) {
// ktvFragment = RoomKtvFragment.newInstance();
// newFragment = ktvFragment;
// }
// } else if ("7".equals(typeId)) {
// friendshipRoomFragment = FriendshipRoomFragment.newInstance();
// newFragment = friendshipRoomFragment;
// }else if ("8".equals(typeId)){
// if ("1".equals(labelId)) {
// singSongFragment = SingSongFragment.newInstance();
// newFragment = singSongFragment;
// } else if ("2".equals(labelId)) {
// ktvFragment = RoomKtvFragment.newInstance();
// newFragment = ktvFragment;
// }
// }
//
// if (newFragment != null) {
// replaceNestedFragment(newFragment, R.id.container);
// }
//
// setview();
//
// if (mRoomInfoResp.getUser_info().getPit_number() != 0) {
// AgoraManager.getInstance(getActivity()).muteLocalAudioStream(false);
// ((RoomActivity) getActivity()).switchMic(2);
// } else {
// AgoraManager.getInstance(getActivity()).muteLocalAudioStream(true);
// }
// // 延迟执行更新,确保 Fragment 已经添加完成
//// if (getActivity() != null && isAdded()) {
//// getView().post(() -> updateChildFragmentViews());
//// }
//
//// if (getActivity() instanceof RoomActivity) {
//// if (mRoomInfoResp.getRoom_info().getType_id().equals("6")) {
//// ((RoomActivity) getActivity()).changeBackground(com.xscm.moduleutil.R.mipmap.cabin_bj);
//// ((RoomActivity) getActivity()).setvisibTop(false);
//// } else if (mRoomInfoResp.getRoom_info().getType_id().equals("7")) {
//// if (mRoomInfoResp.getRoom_info().getRoom_background() == null || mRoomInfoResp.getRoom_info().getRoom_background().equals("")) {
//// ((RoomActivity) getActivity()).changeBackground(com.xscm.moduleutil.R.mipmap.jiaoy_bj);
//// } else {
//// ((RoomActivity) getActivity()).changeBackgroundColor(mRoomInfoResp.getRoom_info().getRoom_background());
//// }
//// ((RoomActivity) getActivity()).setvisibTop(true);
//// } else {
//// ((RoomActivity) getActivity()).changeBackgroundColor(mRoomInfoResp.getRoom_info().getRoom_background());
//// ((RoomActivity) getActivity()).setvisibTop(true);
//// }
//// }
//
// updateChildFragmentViews();
}
private void performLoadSubFragment(QXRoomSeatViewType qxRoomSeatViewType) {
this.qxRoomSeatViewType = qxRoomSeatViewType;
if (mRoomInfoResp == null || mRoomInfoResp.getRoom_info() == null) return;
String typeId = mRoomInfoResp.getRoom_info().getType_id();
String labelId = mRoomInfoResp.getRoom_info().getLabel_id();
@@ -637,6 +752,14 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
} else if ("7".equals(typeId)) {
friendshipRoomFragment = FriendshipRoomFragment.newInstance();
newFragment = friendshipRoomFragment;
}else if ("8".equals(typeId)){
if ("1".equals(labelId)) {
singSongFragment = SingSongFragment.newInstance();
newFragment = singSongFragment;
} else if ("2".equals(labelId)) {
ktvFragment = RoomKtvFragment.newInstance();
newFragment = ktvFragment;
}
}
if (newFragment != null) {
@@ -651,31 +774,9 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
} else {
AgoraManager.getInstance(getActivity()).muteLocalAudioStream(true);
}
// 延迟执行更新,确保 Fragment 已经添加完成
// if (getActivity() != null && isAdded()) {
// getView().post(() -> updateChildFragmentViews());
// }
// if (getActivity() instanceof RoomActivity) {
// if (mRoomInfoResp.getRoom_info().getType_id().equals("6")) {
// ((RoomActivity) getActivity()).changeBackground(com.xscm.moduleutil.R.mipmap.cabin_bj);
// ((RoomActivity) getActivity()).setvisibTop(false);
// } else if (mRoomInfoResp.getRoom_info().getType_id().equals("7")) {
// if (mRoomInfoResp.getRoom_info().getRoom_background() == null || mRoomInfoResp.getRoom_info().getRoom_background().equals("")) {
// ((RoomActivity) getActivity()).changeBackground(com.xscm.moduleutil.R.mipmap.jiaoy_bj);
// } else {
// ((RoomActivity) getActivity()).changeBackgroundColor(mRoomInfoResp.getRoom_info().getRoom_background());
// }
// ((RoomActivity) getActivity()).setvisibTop(true);
// } else {
// ((RoomActivity) getActivity()).changeBackgroundColor(mRoomInfoResp.getRoom_info().getRoom_background());
// ((RoomActivity) getActivity()).setvisibTop(true);
// }
// }
updateChildFragmentViews();
}
/// 这是在进入电影放的时候,隐藏下面的和排麦视图
public void setviewyc() {
// mBinding.ivSoundEffects.setVisibility(View.GONE);
@@ -693,20 +794,36 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
public void replaceNestedFragment(@NonNull Fragment newFragment, int containerId) {
// String tag = newFragment.getClass().getSimpleName(); // 使用类名作为 tag
//
// FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
// callSpecificDestroyMethod(newFragment);
// transaction.replace(containerId, newFragment, tag);
// transaction.commitAllowingStateLoss();
// 检查Fragment是否已经附加到Activity
if (!isAdded() || getActivity() == null) {
// 如果Fragment还没有附加则延迟执行
if (getView() != null) {
getView().post(() -> {
if (isAdded() && getActivity() != null) {
performFragmentReplacement(newFragment, containerId);
}
});
}
return;
}
performFragmentReplacement(newFragment, containerId);
}
private void performFragmentReplacement(@NonNull Fragment newFragment, int containerId) {
String tag = newFragment.getClass().getSimpleName(); // 使用类名作为 tag
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
// 可选:检查是否已有相同类型的 Fragment
// Fragment existing = getChildFragmentManager().findFragmentById(containerId);
// if (existing != null) {
// transaction.remove(existing);
// }
callSpecificDestroyMethod(newFragment);
transaction.replace(containerId, newFragment, tag);
transaction.commitAllowingStateLoss();
}
/**
* 调用特定Fragment的销毁方法
*
@@ -790,7 +907,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
if (auctionRoomFragment != null && auctionRoomFragment.isAdded()) {
auctionRoomFragment.upRoomInfo(mRoomInfoResp);
}
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId)) {
} else if ("1".equals(typeId) || "3".equals(typeId) || "4".equals(typeId) || "8".equals(typeId)) {
if ("2".equals(labelId)) {
RoomKtvFragment roomKtvFragment = findFragmentByTag(RoomKtvFragment.class);
if (roomKtvFragment != null && roomKtvFragment.isAdded()) {

View File

@@ -239,7 +239,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
// @Subscribe(threadMode = ThreadMode.MAIN)
// public void roomAgoraIsOPen(AgoraIsOPen isOPen) {
// if (isOPen.isOpen()) {
//
// mKaraokeView.reset();
// AgoraManager.getInstance(getActivity()).stopMusicPlayer();
// AgoraManager.getInstance(getActivity()).setmSongCode(0);
// AgoraManager.getInstance(getActivity()).loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
// }
// }
@@ -691,6 +693,10 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
roomDefaultWheatView.setData(pitBean);
roomInfoResp.setSong_user_info(musicSongBean);
// mKaraokeView.reset();
// AgoraManager.getInstance(getActivity()).stopMusicPlayer();
// AgoraManager.getInstance(getActivity()).setmSongCode(0);
if (messageEvent.getText().getSongInfo().getUser_id().equals(SpUtil.getUserId() + "")) {
// AgoraManager.getInstance(getActivity()).stopMuisc();
LogUtils.e("推送过来的code", messageEvent.getText().getSongInfo().getSong_code());
@@ -699,6 +705,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
} else {
// AgoraManager.getInstance(getActivity()).stopMuisc();
if (AgoraManager.getInstance(getActivity()).isOnJoin()) {
AgoraManager.getInstance(getActivity()).loadLrc(Long.parseLong(roomInfoResp.getSong_user_info().getSong_code()));
}
// AgoraManager.getInstance(getActivity()).isPreload(Long.parseLong(messageEvent.getText().getSongInfo().getSong_code()), 2);