77 优化底部按钮显示。

This commit is contained in:
2025-12-17 18:59:25 +08:00
parent ef27636564
commit 727e343d1f
11 changed files with 444 additions and 992 deletions

View File

@@ -11,10 +11,21 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeJoin = 1001;
/// 用户退出房间
public static final int QXRoomMessageTypeQuit = 1002;
//================================================================================================麦上变化=================================================================
/// 用户上麦
public static final int QXRoomMessageTypeUpSeat = 1003;
/// 用户下麦
public static final int QXRoomMessageTypeDownSeat = 1004;
/// 拍卖者被拉上麦
public static final int QXRoomMessageTypeAuctionIsUp = 1022;
/// 竞拍开始,竞拍麦位发生变化
public static final int QXRoomMessageTypeAuctionIsStart = 1024;
/// 互娱 麦位发生变化
public static final int QXRoomMessageTypeSeatDidChanged = 1053;
/// 房间内换麦
public static final int QXRoomMessageTypehm = 1039;
//==============================================================================================end=================================================================
/// 房间收到礼物
public static final int QXRoomMessageTypeGift = 1005;
/// 设置管理员
@@ -48,12 +59,11 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeRoomUpdate = 1020;
/// 清除魅力值
public static final int QXRoomMessageTypeRoom = 1021;
/// 拍卖者被拉上麦
public static final int QXRoomMessageTypeAuctionIsUp = 1022;
/// 拍卖者拍卖开始
public static final int QXRoomMessageTypeAuctionIsSelected = 1023;
/// 竞拍开始,竞拍麦位发生变化
public static final int QXRoomMessageTypeAuctionIsStart = 1024;
/// 竞拍结束
public static final int QXRoomMessageTypeAuctionIsEnd = 1025;
/// 主持延时
@@ -101,8 +111,7 @@ public class EMMessageInfo implements MultiItemEntity {
public static final int QXRoomMessageTypeRoomFriendCreateRelation = 1051;
/// 私密小屋结束时间发生延时
public static final int QXRoomMessageTypeCabinTimeDelay = 1052;
/// 麦位发生变化
public static final int QXRoomMessageTypeSeatDidChanged = 1053;
/// 心动值发生变化
public static final int QXRoomMessageTypeHeartDidChanged = 1054;
/// 小黑屋有人退出房间
@@ -129,8 +138,7 @@ public class EMMessageInfo implements MultiItemEntity {
//已点歌曲数量
public static final int QXRoomMessageTypeSongerNum = 1072;
/// 房间内换麦
public static final int QXRoomMessageTypehm = 1039;
public static final int QXRoomMessageTypeCPText = 1080;//CP特效进入房间的特效
/// 签约开始
public static final int QXRoomMessageTypeSignStartText = 1090;

View File

@@ -94,6 +94,9 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
FriendshipRoomFragment fragment = new FriendshipRoomFragment(roomInfoResp);
return fragment;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
@Override
public void endFriend(FriendUserBean friendUserBean) {
@@ -924,15 +927,8 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
}
if (!isHaveMe) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(false);
((RoomActivity) getActivity()).ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding);
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
}
} else {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(true);
((RoomActivity) getActivity()).ivWheatFeeding(com.xscm.moduleutil.R.mipmap.room_wheat_feeding_up);
}
}
configPowerBtn();
}

View File

@@ -105,6 +105,9 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
// 确保 overlay buttons 已初始化
initOverlayButtons();
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
/// 更新数据
public void roomInfoUpdate(RoomInfoResp resp) {

View File

@@ -134,7 +134,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setRoomSeatViewType();
upRoomInfo(mRoomInfoResp);
}
@@ -448,75 +447,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
private Fragment currentFragment = null;
private boolean isReplacing = false;
private int MAX_COUNT = 3;
private int retryCount = 0;
@SuppressLint("CheckResult")
private void switchFragment(Fragment newFragment, int containerId, boolean isAddFail) {
if (!isAdded() || newFragment == null) return;
LogUtils.e("switchFragment attachA");
FragmentTransaction ft = getChildFragmentManager().beginTransaction();
// 1. 添加新 Fragment
if (!newFragment.isAdded()) {
ft.add(containerId, newFragment);
} else if (newFragment.getView() == null) {
ft.attach(newFragment); // 确保 view 被创建
LogUtils.e("switchFragment attach");
}
// 2. 显示新 Fragment
ft.show(newFragment);
// 3. 隐藏旧 Fragment
if (currentFragment != null && currentFragment != newFragment) {
ft.hide(currentFragment);
}
ft.commitNowAllowingStateLoss(); // 立即提交
currentFragment = newFragment;
// 校验2事务执行后验证Fragment的核心状态
// ① 是否真的附加到FragmentManager
boolean isLoadSuccess = true;
String errorMsg = null;
// 更全面的检查
if (!newFragment.isAdded()) {
isLoadSuccess = false;
errorMsg = "Fragment未附加到FragmentManager";
} else if (newFragment.getView() == null) {
isLoadSuccess = false;
errorMsg = "Fragment View创建失败";
} else if (!newFragment.isResumed()) {
// 可选检查是否至少执行到onResume
// 注意:某些场景可能不需要这么严格的检查
isLoadSuccess = false;
errorMsg = "Fragment未进入Resumed状态";
}
LogUtils.e("switchFragment :" + errorMsg + ",isLoadSuccess:" + isLoadSuccess);
// 处理失败情况
if (!isLoadSuccess) {
Log.e("FragmentCheck", errorMsg);
if (retryCount == MAX_COUNT) {
LogUtils.e("switchFragment retryCount == MAX_COUNT");
return;
}
// 可以考虑自动恢复或通知用户
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(
aLong -> {
retryCount++;
LogUtils.e("switchFragment retry");
switchFragment(newFragment, containerId, true);
}
);
return;
}
startActivity(new Intent(ActivityUtils.getTopActivity(), TransparentActivity.class));
}
@SuppressLint("CheckResult")
private void performFragmentReplacement(Fragment newFragment) {
@@ -578,28 +508,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
public void updateWheatStatus(RoomPitBean roomPitBean, int pit, boolean isOccupied, boolean isMine) {
mRoomInfoResp.getRoom_info().getPit_list().set(pit - 1, roomPitBean);
if (isOccupied && isMine) {//上麦,并且是自己
mRoomInfoResp.getUser_info().setPit_number(pit);
((RoomActivity) getActivity()).switchMic(2);
} else if (!isOccupied && isMine) { //下麦,并且是自己
mRoomInfoResp.getUser_info().setPit_number(0);
}
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).upRoomInfo(mRoomInfoResp);
}
}
//误导
public void updateSeatViewExchangedWithPitArray(RoomInfoResp roomInfoResp) {
mRoomInfoResp = roomInfoResp;
setRoomSeatViewType();
loadSubFragment(qxRoomSeatViewType);
updateChildFragmentViews();
}
//1003 1004
public void upRoomInfoData(RoomInfoResp roomInfoResp) {
this.mRoomInfoResp = roomInfoResp;
@@ -793,19 +701,12 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
RoomActivity roomActivity = (RoomActivity) getActivity();
if (!haveMe) {
AgoraManager.getInstance().ClientRole(false);
roomActivity.setrlMic(false);
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
} else {
roomActivity.setrlMic(true);
if (AgoraManager.getInstance().isLocalAudioEnabled()) {
roomActivity.ivMic(com.xscm.moduleutil.R.mipmap.room_microphone);
}
}
}
} else {
if (!user_id.equals(SpUtil.getUserId() + "") && getActivity() instanceof RoomActivity) {
AgoraManager.getInstance().ClientRole(false);
((RoomActivity) getActivity()).setrlMic(false);
AgoraManager.getInstance().setLocalAudioEnabled(false, SpUtil.getUserId() + "");
}
}
@@ -831,34 +732,40 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
switch (qxRoomSeatViewType) {
case KTV:
if (ktvFragment == currentFragment) {
ktvFragment.upRoomInfoResp(mRoomInfoResp);
handleKtvEvent(messageEvent);
}
break;
case NORMAL:
if (singSongFragment == currentFragment) {
singSongFragment.upRoomInfoResp(mRoomInfoResp);
handleSingSongEvent(messageEvent);
}
break;
case AUCTION:
if (roomAuctionFragment == currentFragment) {
roomAuctionFragment.upRoomInfoResp(mRoomInfoResp);
handleAuctionEvent(messageEvent);
}
break;
case FRIEND:
if (friendshipRoomFragment == currentFragment) {
friendshipRoomFragment.upRoomInfoResp(mRoomInfoResp);
handleFriendshipEvent(messageEvent);
}
break;
case JUKEBOX:
if (roomJukeboxFragment == currentFragment) {
roomJukeboxFragment.upRoomInfoResp(mRoomInfoResp);
handleJukeboxEvent(messageEvent);
}
break;
case SIGNCONTRACT:
if (mentorShipFragment == currentFragment) {
mentorShipFragment.roomInfoUpdate(mRoomInfoResp);
handleMentorshipEvent(messageEvent);
}
break;
@@ -871,7 +778,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
private void handleMentorshipEvent(RoomMessageEvent messageEvent) {
mentorShipFragment.roomInfoUpdate(mRoomInfoResp);
switch (messageEvent.getMsgType()) {
case 1003:
mentorShipFragment.event1003(messageEvent);

View File

@@ -105,10 +105,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
protected void initView() {
initPopupWindow();
mBinding.guestContainer.setVisibility(GONE);
// adapter = new RoomJukeboxAdapter(R.layout.item_jukebox);
// GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 4);
// mBinding.rvJukebox.setLayoutManager(layoutManager);
// mBinding.rvJukebox.setAdapter(adapter);
viewList.clear();
viewList.add(mBinding.wheatView1);
@@ -145,7 +141,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
if (!isFastDoubleClick("online_dialog", finalI + 1 + "")) {
if (getActivity() != null && getActivity() instanceof RoomActivity) {
((RoomActivity)getActivity()).showUserListDialog(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
((RoomActivity) getActivity()).showUserListDialog(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
}
}
} else {
@@ -161,7 +157,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
mBinding.wvZc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -404,6 +399,28 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
return R.layout.fragment_jukebox;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
roomPitBeans.clear();
for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) {
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
if (!roomPitBean.getPit_number().equals("9") && !roomPitBean.getPit_number().equals("10")) {
roomPitBeans.add(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
roomPitBean.setIs_online(1);
}
viewList.get(i).setData(roomPitBean);
} else if (roomPitBean.getPit_number().equals("9")) {
// 确保视图的pitNumber与数据的pit_number匹配
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.isMentorShip(true);
mBinding.wvZc.setData(roomPitBean);
}
}
}
public void roomInfoUpdate(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
@@ -428,9 +445,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.isMentorShip(true);
mBinding.wvZc.setData(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
upMike(true);
}
}
}
@@ -455,9 +469,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
String userId = String.valueOf(roomInfoResp.getSinger_info().getSong_info().getSinger_user_id());
if (userId.equals(SpUtil.getUserId() + "")) {
upMike(true);
}
if (mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.pitBean.setImageType(true);
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
@@ -515,33 +527,16 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
return;
}
if (pitNumber.equals("9") || pitNumber.equals("10")) {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(pitNumber);
pitBean.setUser_id(userId + "");
pitBean.setAvatar(fromUserInfo.getAvatar());
pitBean.setNickname(fromUserInfo.getNickname());
pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
if (pitNumber.equals("9")) {
int pitNumberA = Integer.parseInt(pitNumber);
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumberA - 1);
// 确保视图的pitNumber与数据的pit_number匹配
if (pitNumber.equals("9")) {
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.setData(pitBean);
}
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.setData(pitBean);
} else {
// 获取对应位置的bean并更新
RoomPitBean pitBean = roomPitBeans.get(position);
pitBean.setUser_id(userId + "");
pitBean.setPit_number(pitNumber);
pitBean.setAvatar(fromUserInfo.getAvatar());
pitBean.setNickname(fromUserInfo.getNickname());
pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
try {
if (roomInfoResp.getSinger_info().getSong_info().getSinger_user_id() == userId) {
pitBean.setImageType(true);
@@ -552,16 +547,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
LogUtils.e("juke", e.getMessage());
pitBean.setImageType(false);
}
if (pitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(true);
}
}
}
// 使用set方法更新数据然后通知适配器
roomPitBeans.set(position, pitBean);
viewList.get(position).setData(pitBean);
}
@@ -578,79 +563,36 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
private void configGameOptionBtn() {
if (myPitNumber == 9) {
mBinding.imQg.setVisibility(VISIBLE);
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(true);
}
}
} else {
mBinding.imQg.setVisibility(GONE);
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(false);
}
}
}
}
public void event1004(RoomMessageEvent messageEvent) {
boolean b = false;
String pitNumber = messageEvent.getText().getPit_number();
int userId = messageEvent.getText().getFromUserInfo().getUser_id();
if (pitNumber.equals("9") || pitNumber.equals("10")) {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(pitNumber);
pitBean.setUser_id("");
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
if (pitNumber.equals("9")) {
RoomJukeboxWheatView roomDefaultWheatView = mBinding.wvZc;
roomDefaultWheatView.setRoomWheatNumber("9");
roomDefaultWheatView.setData(pitBean);
}
if (pitNumber.equals("9")) {
int pitNumberA = Integer.parseInt(pitNumber);
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumberA - 1);
RoomJukeboxWheatView roomDefaultWheatView = mBinding.wvZc;
roomDefaultWheatView.setRoomWheatNumber("9");
roomDefaultWheatView.setData(pitBean);
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(false);
AgoraManager.getInstance().muteLocalAudioStream(true);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(pitNumber), false, b);
}
} else {
// 获取适配器数据
int position = Integer.parseInt(pitNumber) - 1;
// 确保位置有效
if (position < 0 || position >= roomPitBeans.size()) {
return;
}
// 获取对应位置的bean并更新
RoomPitBean pitBean = roomPitBeans.get(position);
pitBean.setUser_id("");
pitBean.setPit_number(pitNumber);
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
pitBean.setDress("");
pitBean.setImageType(false);
// 使用set方法更新数据然后通知适配器
roomPitBeans.set(position, pitBean);
viewList.get(position).setData(pitBean);
if (SpUtil.getUserId() == userId) {
if (getActivity() != null) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setrlMic(false);
}
}
}
}
if (userId == SpUtil.getUserId()) {
myPitNumber = 0;
@@ -669,44 +611,15 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
int toIndex = Integer.parseInt(toPit) - 1;
if (toPit.equals("9")) {
RoomPitBean fromBean = viewList.get(fromIndex).pitBean;
fromBean.setPit_number(toPit);
fromBean.clone();
//这里需要是重新的指向地址,不然会出现,虽然页面展示的是,但是在点击的时候,找不到对应的数据
RoomPitBean pitBean = fromBean.clone();
mBinding.wvZc.setData(pitBean);
roomInfoResp.getRoom_info().getPit_list().set(8, pitBean);
if (fromBean.getUser_id().equals(SpUtil.getUserId() + "")) {
mBinding.wvZc.setData(roomInfoResp.getRoom_info().getPit_list().get(toIndex));
if (roomInfoResp.getRoom_info().getPit_list().get(toIndex).getUser_id().equals(SpUtil.getUserId() + "")) {
myPitNumber = 9;
configGameOptionBtn();
}
RoomPitBean temp = viewList.get(fromIndex).pitBean;
temp.setUser_id("");
temp.setAvatar("");
temp.setNickname("");
temp.setSex("");
temp.setCharm("");
temp.setDress("");
temp.setImageType(false);
temp.setPit_number(fromPit);
roomInfoResp.getRoom_info().getPit_list().set(fromIndex, temp);
roomPitBeans.set(fromIndex, temp);
viewList.get(fromIndex).setData(temp);
viewList.get(fromIndex).setData(roomPitBeans.get(fromIndex));
} else {
RoomPitBean fromBean = viewList.get(fromIndex).pitBean;
fromBean.setPit_number(toPit);
RoomPitBean toBean = viewList.get(toIndex).pitBean;
toBean.setPit_number(fromPit);
roomInfoResp.getRoom_info().getPit_list().set(fromIndex, toBean);
roomInfoResp.getRoom_info().getPit_list().set(toIndex, fromBean);
roomPitBeans.set(fromIndex, toBean);
roomPitBeans.set(toIndex, fromBean);
viewList.get(fromIndex).setData(toBean);
viewList.get(toIndex).setData(fromBean);
viewList.get(fromIndex).setData(roomPitBeans.get(fromIndex));
viewList.get(toIndex).setData(roomPitBeans.get(toIndex));
}
LogUtils.e("huanmai2", mBinding.wvZc.pitBean);
}
@@ -753,9 +666,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
mBinding.tvNetName.setText("老板");
songId = messageEvent.getText().getSong_info().getId();
String userId = String.valueOf(messageEvent.getText().getSong_info().getSinger_user_id());
if (userId.equals(SpUtil.getUserId() + "")) {
upMike(true);
}
if (mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.pitBean.setImageType(false);
@@ -781,14 +692,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
// TODO: 2025/11/22 当在演唱位的时候,显示麦克风,当上麦的时候,也展示麦克风,
private void upMike(boolean isBool) {
if (getActivity() != null) {
// 假设Activity有获取麦位数据的方法
((RoomActivity) getActivity()).setrlMic(isBool);
}
}
public void event1035(RoomMessageEvent message) {
if (mBinding.wvZc.getUserId().equals(message.getText().getFromUserInfo().getUser_id() + "")) {

View File

@@ -86,6 +86,10 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
return fragment;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
public void roomInfoUpdate(RoomInfoResp resp) {
roomInfoResp = resp;
initView();
@@ -119,14 +123,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (roomInfoResp.getSong_user_info() != null) {
if (roomInfoResp.getSong_user_info().getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(3, -1);
((RoomActivity) getActivity()).switchMic(1);
}
} else {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(0, 0);
}
}
did = roomInfoResp.getSong_user_info().getDid();
if (roomInfoResp.getSong_user_info().getUser_id().equals(SpUtil.getUserId() + "")) {
@@ -165,23 +164,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (roomPitBean.getPit_number().equals("9")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muZc;
roomDefaultWheatView.setData(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(2, 9);
// ((RoomActivity) getActivity()).switchMic(2);
}
}
} else if (roomPitBean.getPit_number().equals("10")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muJb;
roomDefaultWheatView.setData(roomPitBean);
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(2, 10);
// ((RoomActivity) getActivity()).switchMic(2);
}
}
}
}
}
@@ -192,7 +177,6 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (roomPitBean.getUser_id().equals(SpUtil.getUserId() + "")) {
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(3, Integer.parseInt(roomPitBean.getPit_number() != null ? roomPitBean.getPit_number() : "99"));
((RoomActivity) getActivity()).switchMic(2);
}
}
@@ -707,14 +691,12 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (getActivity() instanceof RoomActivity) {
if (messageEvent.getText().getSongInfo().getUser_id().equals(SpUtil.getUserId() + "")) {
((RoomActivity) getActivity()).setRoleType(3, -1);
((RoomActivity) getActivity()).switchMic(1);
} else {
if (roomInfoResp.getUser_info().getPit_number() > 0) {
} else {
((RoomActivity) getActivity()).setRoleType(0, 0);
((RoomActivity) getActivity()).switchMic(2);
}
}
@@ -730,7 +712,6 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
pitBean.setUser_code("");
mBinding.muYc.setData(pitBean);
roomInfoResp.setSong_user_info(null);
((RoomActivity) getActivity()).setRoleType(0, 0);
did = "";
mBinding.muName.setText("");
volumeManager.clearCurrentVolumes();
@@ -747,64 +728,31 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
}
public void event1003(RoomMessageEvent messageEvent) {
boolean b = false;
if (messageEvent.getText().getPit_number().equals("9") || messageEvent.getText().getPit_number().equals("10")) {
int pitNumber = Integer.parseInt(messageEvent.getText().getPit_number()) - 1;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber);
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(messageEvent.getText().getPit_number());
pitBean.setUser_id(messageEvent.getText().getFromUserInfo().getUser_id() + "");
pitBean.setAvatar(messageEvent.getText().getFromUserInfo().getAvatar());
pitBean.setNickname(messageEvent.getText().getFromUserInfo().getNickname());
pitBean.setSex(messageEvent.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(messageEvent.getText().getFromUserInfo().getCharm());
pitBean.setDress(messageEvent.getText().getFromUserInfo().getDress());
pitBean.setIs_online(messageEvent.getText().getFromUserInfo().getIs_online());
if (pitBean.getPit_number().equals("9")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muZc;
roomDefaultWheatView.setData(pitBean);
// if (getActivity() instanceof RoomActivity) {
// ((RoomActivity) getActivity()).ivSoundEffects(true);
// }
} else if (pitBean.getPit_number().equals("10")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muJb;
roomDefaultWheatView.setData(pitBean);
}
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(true);
AgoraManager.getInstance().muteLocalAudioStream(false);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(pitBean.getPit_number()), true, b);
}
} else {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(messageEvent.getText().getPit_number() != null ? messageEvent.getText().getPit_number() : "9999");
pitBean.setUser_id(messageEvent.getText().getFromUserInfo().getUser_id() + "");
pitBean.setAvatar(messageEvent.getText().getFromUserInfo().getAvatar());
pitBean.setNickname(messageEvent.getText().getFromUserInfo().getNickname());
pitBean.setSex(messageEvent.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(messageEvent.getText().getFromUserInfo().getCharm());
pitBean.setDress(messageEvent.getText().getFromUserInfo().getDress());
pitBean.setIs_online(messageEvent.getText().getFromUserInfo().getIs_online());
roomInfoResp.getSong_pit_list().add(pitBean);
}
adapter.setNewData(roomInfoResp.getSong_pit_list());
sv();
}
public void event1004(RoomMessageEvent messageEvent) {
boolean b = false;
if (messageEvent.getText().getPit_number().equals("9") || messageEvent.getText().getPit_number().equals("10")) {
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(messageEvent.getText().getPit_number());
pitBean.setUser_id("");
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
int pitNumber = Integer.parseInt(messageEvent.getText().getPit_number()) - 1;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber);
if (pitBean.getPit_number().equals("9")) {
RoomKtvWheatView roomDefaultWheatView = mBinding.muZc;
roomDefaultWheatView.setData(pitBean);
@@ -813,22 +761,10 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
roomDefaultWheatView.setData(pitBean);
}
if (SpUtil.getUserId() == messageEvent.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(false);
AgoraManager.getInstance().muteLocalAudioStream(true);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(messageEvent.getText().getPit_number()), false, b);
}
} else {
for (int i = 0; i < roomInfoResp.getSong_pit_list().size(); i++) {
if (roomInfoResp.getSong_pit_list().get(i).getUser_id().equals(messageEvent.getText().getFromUserInfo().getUser_id() + "")) {
roomInfoResp.getSong_pit_list().remove(i);
break;
}
}
adapter.setNewData(roomInfoResp.getSong_pit_list());
}
sv();

View File

@@ -336,7 +336,7 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
this.mRoomInfoResp = roomInfoResp
mUserInfo = this.mRoomInfoResp?.user_info
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
showBtn()
// showBtn()
}
fun roomTypeSwitch(roomInfoResp: RoomInfoResp) {

View File

@@ -128,6 +128,10 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
this.roomInfoResp = roomInfoResp;
}
public void upRoomInfoResp(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
public void upRoomInfo(RoomInfoResp roomInfoResp){
this.roomInfoResp = roomInfoResp;
upDataView();
@@ -237,7 +241,6 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
}
parentFragment = (RoomFragment) getParentFragment();
}
@@ -1082,7 +1085,6 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
wheatLayoutManager1.setUpData(message, 1);
} else {
wheatLayoutManager2.setUpData(message, 2);
}
}
}
@@ -1090,68 +1092,39 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
/// 推送的下麦1003
public void event1003(RoomMessageEvent message) {
boolean b = false;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(Integer.parseInt(message.getText().getPit_number()) - 1);
pitBean.setUser_id(message.getText().getFromUserInfo().getUser_id() + "");
pitBean.setAvatar(message.getText().getFromUserInfo().getAvatar());
pitBean.setNickname(message.getText().getFromUserInfo().getNickname());
pitBean.setSex(message.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(message.getText().getFromUserInfo().getCharm());
pitBean.setDress(message.getText().getFromUserInfo().getDress());
pitBean.setMic_cycle(message.getText().getFromUserInfo().getMic_cycle()!=null?message.getText().getFromUserInfo().getMic_cycle():"");
roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(message.getText().getPit_number()) - 1, pitBean);
int pitNumber = Integer.parseInt(message.getText().getPit_number()) - 1;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber);
if (roomInfoRespPk == null || roomInfoRespPk.getPk_info() == null) {
wheatLayoutSingManager.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()));
wheatLayoutSingManager.updateSingleWheat(pitBean, pitNumber);
} else {
if (message.getText().getIs_pk() == null) {
wheatLayoutManager1.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 1);
wheatLayoutManager1.updateSingleWheat(pitBean,pitNumber, 1);
} else {
wheatLayoutManager2.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 2);
wheatLayoutManager2.updateSingleWheat(pitBean, pitNumber, 2);
}
}
// 通知父 Fragment
if (SpUtil.getUserId() == message.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(true);
AgoraManager.getInstance().muteLocalAudioStream(false);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(message.getText().getPit_number()), true, b);
}
}
/// 1004
public void event1004(RoomMessageEvent message) {
boolean b = false;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(Integer.parseInt(message.getText().getPit_number()) - 1);
pitBean.setUser_id("");
pitBean.setAvatar("");
pitBean.setNickname("");
pitBean.setSex("");
pitBean.setCharm("");
pitBean.setDress("");
pitBean.setMic_cycle("");
roomInfoResp.getRoom_info().getPit_list().set(Integer.parseInt(message.getText().getPit_number()) - 1, pitBean);
int pitNumber = Integer.parseInt(message.getText().getPit_number()) - 1;
RoomPitBean pitBean = roomInfoResp.getRoom_info().getPit_list().get(pitNumber);
if (roomInfoRespPk == null || roomInfoRespPk.getPk_info() == null) {
wheatLayoutSingManager.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()));
wheatLayoutSingManager.updateSingleWheat(pitBean, pitNumber);
} else {
if (message.getText().getIs_pk() == null) {
wheatLayoutManager1.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 1);
wheatLayoutManager1.updateSingleWheat(pitBean, pitNumber, 1);
} else {
wheatLayoutManager2.updateSingleWheat(pitBean, Integer.parseInt(message.getText().getPit_number()), 2);
wheatLayoutManager2.updateSingleWheat(pitBean, pitNumber, 2);
}
}
if (SpUtil.getUserId() == message.getText().getFromUserInfo().getUser_id()) {
b = true;
AgoraManager.getInstance().ClientRole(false);
AgoraManager.getInstance().muteLocalAudioStream(true);
} else {
b = false;
}
if (parentFragment != null) {
parentFragment.updateWheatStatus(pitBean, Integer.parseInt(message.getText().getPit_number()), false, b);
}
}
@@ -1217,9 +1190,6 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
MvpPre.postRoomInfo(message.getRoomId(), roomInfoResp.getUser_info().getPit_number() + "", 3);
if (message.getText().getType() == 1) {
MvpPre.postRoomInfo(message.getText().getRoom_id(), roomInfoResp.getUser_info().getPit_number() + "", 1);
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).setRoleType(5, -11);
}
}
}

View File

@@ -151,6 +151,7 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
currentTab = position;
// 更新 TabLayout 的选中状态
TabLayout.Tab selectedTab = mBinding.tabTitle.getTabAt(position);
if (selectedTab != null) {
@@ -170,7 +171,6 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
textView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.black));
}
mBinding.viewPager2.setCurrentItem(tab.getPosition());
currentTab = tab.getPosition();
}
@Override

View File

@@ -297,11 +297,12 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_mic"
android:id="@+id/rl_mai"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="0.3"
android:visibility="gone"
android:gravity="center_vertical">
<ImageView
@@ -329,15 +330,6 @@
android:src="@mipmap/room_message"
android:visibility="visible" />
<!-- <ImageView-->
<!-- android:id="@+id/iv_message_dot"-->
<!-- android:layout_width="@dimen/dp_14"-->
<!-- android:layout_height="@dimen/dp_14"-->
<!-- android:layout_alignParentEnd="true"-->
<!-- android:src="@mipmap/room_ic_red_dot"-->
<!-- android:visibility="gone"-->
<!-- tools:visibility="visible" />-->
<TextView
android:id="@+id/iv_message_dot"
android:layout_width="@dimen/dp_14"
@@ -357,10 +349,11 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_more"
android:id="@+id/rl_pk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_5"
android:visibility="gone"
android:layout_weight="0.3">
<ImageView
@@ -374,7 +367,8 @@
<RelativeLayout
android:id="@+id/rl_misc"
android:layout_width="0dp"
android:layout_height="20dp"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="0.3">