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

737 lines
31 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 android.view.View.GONE;
import static android.view.View.VISIBLE;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
2025-11-12 16:42:51 +08:00
import android.graphics.Color;
2025-10-20 10:16:44 +08:00
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
2025-10-20 10:16:44 +08:00
import androidx.fragment.app.FragmentManager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
2025-10-28 16:56:13 +08:00
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.room.contacts.RoomUserContacts;
import com.xscm.modulemain.databinding.FragmentRoomUserInfoBinding;
import com.xscm.modulemain.activity.room.fragment.RelationshipFragment;
import com.xscm.modulemain.activity.room.presenter.RoomUserPresenter;
2025-10-20 10:16:44 +08:00
import com.example.zhouwei.library.CustomPopWindow;
import com.hjq.toast.ToastUtils;
2025-10-28 19:13:52 +08:00
import com.xscm.modulemain.activity.WebViewActivity;
2025-11-05 11:08:00 +08:00
import com.xscm.modulemain.manager.RoomManager;
2025-10-20 10:16:44 +08:00
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.RelationCardBean;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.TimeUtils;
import com.tencent.imsdk.v2.V2TIMConversation;
import com.tencent.qcloud.tuicore.TUIConstants;
import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIC2CChatActivity;
import org.greenrobot.eventbus.EventBus;
import java.util.HashMap;
import java.util.Map;
/**
* @author qx
* @data 2025/6/13
* @description: 点击房间用户展示
*/
public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresenter, FragmentRoomUserInfoBinding> implements RoomUserContacts.View {
private String room_id, user_id, pit_number;
private UserInfo userInfo;
CustomPopWindow mCustomPopWindow;
private String is_room_owner;//是否是房主
private String is_host;//是否是主持
private String is_management;//是否是管理
private int type;//1房主并且是在支持麦 2管理员并且在支持麦 3主持并且在支持麦 4普通用户 [要查看的用户类型]
private int close_type;//被查看的用户类型 1房主 2管理员 3主持 4普通用户 [要关闭的用户类型]
private String value;
private View contentView;
boolean isPk;
private int paim;//这是判断是否是拍卖模式 1:拍卖房 2K歌房 3语聊房 4在线列表 5聊天房,
private int isNum;//这里是当是拍卖房的时候这个参数就是当前拍卖的id
private int guanType; // 1: 关系卡 2: 关系位
@Override
protected RoomUserPresenter bindPresenter() {
return new RoomUserPresenter(this, getActivity());
}
2025-11-05 11:08:00 +08:00
public static void show(String room_id, String user_id, String pit_number, int type, boolean isPk, int paim, int isNum, FragmentManager fragmentManager) {
2025-10-20 10:16:44 +08:00
RoomUserInfoFragment dialogFragment = new RoomUserInfoFragment();
Bundle args = new Bundle();
args.putString("roomId", room_id); // 可选:传递参数
args.putString("userId", user_id);
args.putString("pit_number", pit_number);
args.putInt("type", type);
args.putBoolean("isPk", isPk);
args.putInt("paim", paim);
args.putInt("isNum", isNum);
dialogFragment.setArguments(args);
dialogFragment.show(fragmentManager, "RoomUserInfoFragment");
}
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
room_id = getArguments().getString("roomId");
user_id = getArguments().getString("userId");
pit_number = getArguments().getString("pit_number");
type = getArguments().getInt("type");
value = getArguments().getString("value");
isPk = getArguments().getBoolean("isPk");
paim = getArguments().getInt("paim");
isNum = getArguments().getInt("isNum");
2025-11-05 11:08:00 +08:00
if (isPk) {
type = 4;
2025-10-20 10:16:44 +08:00
}
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
MvpPre.getRoomUserInfo(room_id, user_id);
}
2025-10-20 10:16:44 +08:00
@Override
protected void initDialogStyle(Window window) {
super.initDialogStyle(window);
window.setGravity(Gravity.BOTTOM);
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onStop() {
super.onStop();
}
@Override
protected void initData() {
if (type == 0) {
mBinding.roomDian.setVisibility(GONE);
} else {
mBinding.roomDian.setVisibility(View.VISIBLE);
}
2025-11-05 11:08:00 +08:00
if (isPk) {
mBinding.roomBo.setVisibility(GONE);
if (isNum == 1) {
mBinding.imGs.setVisibility(GONE);
} else {
mBinding.imGs.setVisibility(VISIBLE);
}
} else {
mBinding.roomBo.setVisibility(View.VISIBLE);
mBinding.imGs.setVisibility(GONE);
}
2025-10-20 10:16:44 +08:00
}
@SuppressLint("UseCompatLoadingForDrawables")
@Override
protected void initView() {
mBinding.ivAvatar.setOnClickListener(this::onClick);
mBinding.roomMCz.setOnClickListener(this::onClick);
mBinding.roomDian.setOnClickListener(this::onClick);
mBinding.imRoomT.setOnClickListener(this::onClick);
mBinding.imRoomLt.setOnClickListener(this::onClick);
mBinding.imRoomGz.setOnClickListener(this::onClick);
mBinding.imRoomSl.setOnClickListener(this::onClick);
mBinding.roomLh.setOnClickListener(this::onClick);
mBinding.roomRlGift.setOnClickListener(this::onClick);
mBinding.roomJb.setOnClickListener(this::onClick);
mBinding.tvZb.setOnClickListener(this::onClick);
2025-11-05 11:08:00 +08:00
mBinding.imGs.setOnClickListener(this::onClick);
2025-10-20 10:16:44 +08:00
mBinding.textView1.setOnClickListener(this::onClick);
mBinding.textView2.setOnClickListener(this::onClick);
mBinding.moreButton.setOnClickListener(this::onClick);
2025-10-24 17:52:11 +08:00
mBinding.imQml.setOnClickListener(this::onClick);
2025-10-20 10:16:44 +08:00
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.roomMCz, ColorManager.getInstance().getPrimaryColorInt(), 65);
mBinding.roomMCz.setTextColor(ColorManager.getInstance().getButtonColorInt());
mBinding.moreButton.setTextColor(ColorManager.getInstance().getPrimaryColorInt());
}
private void onClick(View view) {
int id = view.getId();
if (id == R.id.room_m_cz) {
if (mBinding.roomMCz.getText().equals("上麦")) {
2025-10-24 17:52:11 +08:00
MvpPre.applyPit(room_id, "");
2025-11-05 11:08:00 +08:00
} else if (mBinding.roomMCz.getText().equals("抱麦")) {
2025-10-24 17:52:11 +08:00
MvpPre.hostUserPit(room_id, pit_number, user_id, "1");
2025-11-05 11:08:00 +08:00
} else {
if (user_id.equals(SpUtil.getUserId() + "")) {
2025-10-20 10:16:44 +08:00
MvpPre.downPit(room_id, pit_number);
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
MvpPre.hostUserPit(room_id, pit_number, user_id, "2");
}
}
} else if (id == R.id.room_dian) {
contentView = LayoutInflater.from(getContext()).inflate(R.layout.pop_menu, null);
//处理popWindow 显示内容
handleLogic(contentView);
//创建并显示popWindow
mCustomPopWindow = new CustomPopWindow.PopupWindowBuilder(getContext())
.setView(contentView)
.create()
.showAsDropDown(mBinding.roomMCz, 0, 20);
} else if (id == R.id.im_room_t) {
2025-10-24 17:52:11 +08:00
userInfo.setTa("1");
2025-10-20 10:16:44 +08:00
EventBus.getDefault().post(userInfo);
dismiss();
} else if (id == R.id.im_room_lt) {
2025-11-05 11:08:00 +08:00
Intent intent = new Intent(getActivity(), TUIC2CChatActivity.class);
intent.putExtra(TUIConstants.TUIChat.CHAT_ID, "u" + userInfo.getUser_id());
intent.putExtra(TUIConstants.TUIChat.CHAT_TYPE, V2TIMConversation.V2TIM_C2C);
2025-10-20 10:16:44 +08:00
startActivity(intent);
} else if (id == R.id.im_room_gz) {
MvpPre.userGuanz(user_id, "1");
2025-11-05 11:08:00 +08:00
} else if (id == R.id.im_room_sl) {
if (userInfo != null) {
2025-10-24 17:52:11 +08:00
if (pit_number == null) {
pit_number = "";
}
userInfo.setPit_number(pit_number);
RoomGiftDialogFragment.show(null, userInfo, room_id, 0, "", getParentFragmentManager());
}
2025-10-20 10:16:44 +08:00
dismiss();
2025-11-05 11:08:00 +08:00
} else if (id == R.id.room_lh) {
2025-10-20 10:16:44 +08:00
MvpPre.addBlackList(user_id);
2025-11-05 11:08:00 +08:00
} else if (id == R.id.room_rl_gift) {
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", userInfo.getUser_id() + "").withInt("type", 1).navigation();
2025-10-20 10:16:44 +08:00
// UserGiftWallRoomFragment.newInstance(Integer.parseInt(user_id)).show(getChildFragmentManager(), "UserGiftWallRoomFragment");
2025-11-05 11:08:00 +08:00
} else if (id == R.id.room_jb) {
2025-10-24 17:52:11 +08:00
// ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+ "/web/index.html#/pages/feedback/report?id="+SpUtil.getToken()+"&fromType=1&fromId="+user_id).withString("title", "举报").navigation();
Intent intent = new Intent(getActivity(), WebViewActivity.class);
2025-11-05 11:08:00 +08:00
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/feedback/report?id=" + SpUtil.getToken() + "&fromType=1&fromId=" + user_id);
2025-10-24 17:52:11 +08:00
intent.putExtra("title", "举报");
startActivity(intent);
2025-11-05 11:08:00 +08:00
} else if (id == R.id.iv_avatar) {
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", userInfo.getUser_id() + "").navigation();
2025-10-24 17:52:11 +08:00
dismiss();
2025-11-05 11:08:00 +08:00
} else if (id == R.id.tv_zb) {
2025-10-20 10:16:44 +08:00
RoomHostZBDialog dialog = new RoomHostZBDialog(getContext());
dialog.setListener(new RoomHostIncomeDialog.OnConfirmClickListener() {
@Override
public void onConfirm(String proportion) {
MvpPre.giveCoin(user_id, proportion);
}
});
dialog.show();
2025-11-05 11:08:00 +08:00
} else if (id == R.id.more_button) {
RelationshipFragment.show(user_id, guanType, getParentFragmentManager());
2025-10-20 10:16:44 +08:00
dismiss();
2025-11-05 11:08:00 +08:00
} else if (id == R.id.textView1) {
2025-10-20 10:16:44 +08:00
dianj(1);
2025-11-05 11:08:00 +08:00
} else if (id == R.id.textView2) {
2025-10-20 10:16:44 +08:00
dianj(2);
2025-11-05 11:08:00 +08:00
} else if (id == R.id.im_qml) {
2025-10-24 17:52:11 +08:00
MvpPre.clearUserCharm(room_id, user_id);
2025-11-05 11:08:00 +08:00
} else if (id == R.id.im_gs) {
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), room_id, "", null);
2025-10-20 10:16:44 +08:00
}
}
/**
* 处理弹出显示内容点击事件等逻辑
*
* @param contentView
*/
private void handleLogic(View contentView) {
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mCustomPopWindow != null) {
mCustomPopWindow.dissmiss();
}
String showContent = "";
int id = v.getId();
if (id == R.id.action_set_manager) {
if (userInfo.getIs_manager().equals("1")) {
MvpPre.postHostAdd(room_id, user_id, "2", "2");
} else {
MvpPre.postHostAdd(room_id, user_id, "2", "1");
}
} else if (id == R.id.action_set_host) {
if (userInfo.getIs_host().equals("1")) {
MvpPre.postHostAdd(room_id, user_id, "1", "2");
} else {
MvpPre.postHostAdd(room_id, user_id, "1", "1");
}
} else if (id == R.id.action_mute) {
if (userInfo.getIs_mute_pit().equals("1")) {
MvpPre.setMutePit(room_id, user_id, "4");
} else {
MvpPre.setMutePit(room_id, user_id, "2");
}
} else if (id == R.id.action_kick_out) {
MvpPre.kickOutRoom(room_id, user_id);
} else if (id == R.id.action_ban) {
if (userInfo.getIs_mute().equals("1")) {
MvpPre.setMutePit(room_id, user_id, "3");
} else {
MvpPre.setMutePit(room_id, user_id, "1");
}
} else if (id == R.id.action_report) {
// showContent = "点击 Item菜单6";
//TODO 举报功能
2025-10-24 17:52:11 +08:00
// ARouter.getInstance().build(ARouteConstants.H5).withString("url",CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+ "/web/index.html#/pages/feedback/report?id="+SpUtil.getToken()+"&fromType=1&fromId="+user_id).withString("title", "举报").navigation();
2025-11-05 11:08:00 +08:00
Intent intent = new Intent(getActivity(), WebViewActivity.class);
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/feedback/report?id=" + SpUtil.getToken() + "&fromType=1&fromId=" + user_id);
2025-10-24 17:52:11 +08:00
intent.putExtra("title", "举报");
startActivity(intent);
dismiss();
2025-10-20 10:16:44 +08:00
} else if (id == R.id.action_blacklist) {
MvpPre.addBlackList(user_id);
}
ToastUtils.show(showContent);
mCustomPopWindow.dissmiss();
}
};
((TextView) contentView.findViewById(R.id.action_set_manager)).setText(getValue(type, "is_manager"));
((TextView) contentView.findViewById(R.id.action_set_host)).setText(getValue(type, "is_host"));
((TextView) contentView.findViewById(R.id.action_mute)).setText(getValue(type, "is_mute"));
((TextView) contentView.findViewById(R.id.action_ban)).setText(getValue(type, "is_mute_pit"));
contentView.findViewById(R.id.action_set_manager).setOnClickListener(listener);
contentView.findViewById(R.id.action_set_host).setOnClickListener(listener);
contentView.findViewById(R.id.action_mute).setOnClickListener(listener);
contentView.findViewById(R.id.action_kick_out).setOnClickListener(listener);
contentView.findViewById(R.id.action_ban).setOnClickListener(listener);
contentView.findViewById(R.id.action_report).setOnClickListener(listener);
contentView.findViewById(R.id.action_blacklist).setOnClickListener(listener);
2025-11-05 11:08:00 +08:00
if (type == 1) {
2025-10-24 17:52:11 +08:00
contentView.findViewById(R.id.action_set_manager).setVisibility(VISIBLE);
contentView.findViewById(R.id.action_kick_out).setVisibility(VISIBLE);
contentView.findViewById(R.id.action_set_host).setVisibility(VISIBLE);
2025-11-05 11:08:00 +08:00
} else if (type == 2) {
2025-10-24 17:52:11 +08:00
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
contentView.findViewById(R.id.action_kick_out).setVisibility(VISIBLE);
contentView.findViewById(R.id.action_set_host).setVisibility(VISIBLE);
2025-11-05 11:08:00 +08:00
} else if (type == 3) {
2025-10-20 10:16:44 +08:00
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
contentView.findViewById(R.id.action_set_host).setVisibility(GONE);
2025-10-24 17:52:11 +08:00
contentView.findViewById(R.id.action_kick_out).setVisibility(VISIBLE);
2025-10-20 10:16:44 +08:00
}
}
private String getValue(int type, String key) {
Map<String, String> textMap = new HashMap<>();
textMap.put("is_manager", userInfo.getIs_manager().equals("1") ? "取消管理" : "设为管理");
textMap.put("is_host", userInfo.getIs_host().equals("1") ? "取消主持" : "设为主持");
textMap.put("is_mute", userInfo.getIs_mute_pit().equals("1") ? "开麦" : "禁麦");
textMap.put("is_mute_pit", userInfo.getIs_mute().equals("1") ? "解除禁言" : "禁言");
switch (type) {
case 1://房主
if ("is_manager".equals(key)) return textMap.get("is_manager");
if ("is_host".equals(key)) return textMap.get("is_host");
if ("is_mute".equals(key)) return textMap.get("is_mute");
if ("is_mute_pit".equals(key)) return textMap.get("is_mute_pit");
break;
case 2:
// if ("is_host".equals(key)) return textMap.get("is_host");
if ("is_mute".equals(key)) return textMap.get("is_mute");
if ("is_mute_pit".equals(key)) return textMap.get("is_mute_pit");
break;
case 3:
if ("is_mute".equals(key)) return textMap.get("is_mute");
if ("is_mute_pit".equals(key)) return textMap.get("is_mute_pit");
break;
default:
break;
}
return "";
}
@Override
protected int getLayoutId() {
return R.layout.fragment_room_user_info;
}
@Override
public void getRoomUserInfo(UserInfo userInfo1) {
this.userInfo = userInfo1;
2025-11-12 16:42:51 +08:00
mBinding.ivAvatar.setData(userInfo.getAvatar(), "", userInfo.getNobility_image() + "");
String sex = userInfo.getSex()==1?"":"";
mBinding.tvId.setText(sex+" | ID:"+userInfo.getUser_code());
2025-10-20 10:16:44 +08:00
mBinding.tvName.setText(userInfo.getNickname());
if (!userInfo.getNickname_color().isEmpty()){
mBinding.tvName.setStartColor(Color.parseColor(userInfo.getNickname_color()));
mBinding.tvName.setShineColor(Color.parseColor(userInfo.getNickname_color()));
mBinding.tvName.setEndColor(Color.parseColor(userInfo.getNickname_color()));
mBinding.tvName.setShine(true);
mBinding.tvName.setShineType(0);
}
// mBinding.tvName.setTextColor( (userInfo.getNickname_color()!=null && !userInfo.getNickname_color().equals(""))? Color.parseColor(userInfo.getNickname_color()):Color.parseColor("#333333"));
2025-11-12 16:42:51 +08:00
// mBinding.tvId.setText("ID:" + userInfo.getUser_code());
2025-10-20 10:16:44 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("上麦");
}
2025-11-05 11:08:00 +08:00
if (userInfo.getIs_follow() == 1) {
2025-10-20 10:16:44 +08:00
mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_ygz));
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_gz));
}
2025-11-05 11:08:00 +08:00
if (userInfo.getIs_room_owner().equals("1")) {
close_type = 1;
} else if (userInfo.getIs_manager().equals("1")) {
close_type = 2;
} else if (userInfo.getIs_host().equals("1")) {
close_type = 3;
} else {
close_type = 4;
2025-10-20 10:16:44 +08:00
}
2025-11-05 11:08:00 +08:00
if (userInfo != null) {
mBinding.tvGh.setVisibility(VISIBLE);
mBinding.tvGh.setText("所属公会:" + ((userInfo.getGuild() != null && !userInfo.getGuild().isEmpty()) ? userInfo.getGuild() : ""));
} else {
mBinding.tvGh.setVisibility(GONE);
}
2025-10-20 10:16:44 +08:00
mBinding.tvTs.setText(String.format("90天内累计收到 %s 个礼物", userInfo.getGift_num()));
updateUIBasedOnTypeAndUser();
dianj(1);
}
2025-11-05 11:08:00 +08:00
public void dianj(int type) {
if (type == 1) {
guanType = 1;
2025-10-20 10:16:44 +08:00
setTextViewStyle(mBinding.textView2, false);
setTextViewStyle(mBinding.textView1, true);
if (userInfo.getQinmi() != null && !userInfo.getQinmi().equals("")) {
2025-10-24 17:52:11 +08:00
mBinding.ll.setVisibility(VISIBLE);
2025-10-20 10:16:44 +08:00
mBinding.ll.setBackgroundResource(com.xscm.moduleutil.R.mipmap.guxi_k);
ImageUtils.loadHeadCC(userInfo.getQinmi().getAvatar1(), mBinding.userNav1);
ImageUtils.loadHeadCC(userInfo.getQinmi().getAvatar2(), mBinding.userNav2);
mBinding.tvNickname1.setText(userInfo.getQinmi().getNickname1());
mBinding.tvNickname2.setText(userInfo.getQinmi().getNickname2());
mBinding.tvRelation.setText(userInfo.getQinmi().getRelation_name());
2025-11-05 11:08:00 +08:00
mBinding.tvTime.setText(TimeUtils.formatDuration2(Long.parseLong(userInfo.getQinmi().getEnd_time()) * 1000 - System.currentTimeMillis()));
} else {
2025-10-20 10:16:44 +08:00
mBinding.ll.setVisibility(GONE);
}
2025-11-05 11:08:00 +08:00
} else if (type == 2) {
guanType = 2;
2025-10-20 10:16:44 +08:00
setTextViewStyle(mBinding.textView2, true);
setTextViewStyle(mBinding.textView1, false);
if (userInfo.getZhenai() != null && !userInfo.getZhenai().equals("")) {
2025-10-24 17:52:11 +08:00
mBinding.ll.setVisibility(VISIBLE);
2025-10-20 10:16:44 +08:00
mBinding.ll.setBackgroundResource(com.xscm.moduleutil.R.mipmap.guxi_w);
// mBinding.rlReqit.setBackgroundResource(com.qxcm.moduleutil.R.mipmap.guanxiw_z);
ImageUtils.loadHeadCC(userInfo.getZhenai().getAvatar1(), mBinding.userNav1);
ImageUtils.loadHeadCC(userInfo.getZhenai().getAvatar2(), mBinding.userNav2);
mBinding.tvNickname1.setText(userInfo.getZhenai().getNickname1());
mBinding.tvNickname2.setText(userInfo.getZhenai().getNickname2());
mBinding.tvRelation.setText(userInfo.getZhenai().getRelation_name());
2025-11-05 11:08:00 +08:00
mBinding.tvTime.setText(TimeUtils.formatDuration2(Long.parseLong(userInfo.getZhenai().getEnd_time()) * 1000 - System.currentTimeMillis()));
} else {
2025-10-20 10:16:44 +08:00
mBinding.ll.setVisibility(GONE);
}
}
}
2025-11-05 11:08:00 +08:00
2025-10-20 10:16:44 +08:00
private void setTextViewStyle(TextView textView, boolean isSelected) {
if (isSelected) {
textView.setTextColor(getResources().getColor(android.R.color.white));
textView.setTextSize(16);
} else {
textView.setTextColor(getResources().getColor(android.R.color.darker_gray));
textView.setTextSize(14);
}
}
private void updateUIBasedOnTypeAndUser() {
2025-11-05 11:08:00 +08:00
int userId = SpUtil.getUserId();
boolean isSelf = userId == userInfo.getUser_id();
2025-10-20 10:16:44 +08:00
// if (pit_number!=null && pit_number.equals("-1")){
// type=0;
// isSelf=false;
// }
2025-11-05 11:08:00 +08:00
if (userInfo.getIs_in_pit() == 1) {
2025-10-20 10:16:44 +08:00
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
mBinding.roomMCz.setVisibility(GONE);
}
2025-11-05 11:08:00 +08:00
if (paim == 1 && pit_number != null && (pit_number.equals("888") || pit_number.equals("111") || pit_number.equals("222") || pit_number.equals("333"))) {
2025-10-20 10:16:44 +08:00
mBinding.roomMCz.setVisibility(GONE);
}
switch (type) {
case 1: // 房主
mBinding.roomDian.setVisibility(View.VISIBLE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
mBinding.roomBo.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
mBinding.imQml.setVisibility(VISIBLE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("抱麦");
}
2025-11-05 11:08:00 +08:00
if (isSelf) {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
mBinding.roomBo.setVisibility(GONE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("上麦");
}
2025-10-20 10:16:44 +08:00
}
break;
case 2://管理员
2025-11-05 11:08:00 +08:00
if (close_type == 1) { //管理员查看房主信息
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(View.GONE);
mBinding.roomJb.setVisibility(View.VISIBLE);
mBinding.roomLh.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
mBinding.roomBo.setVisibility(VISIBLE);
2025-10-20 10:16:44 +08:00
mBinding.roomMCz.setVisibility(GONE);
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(View.VISIBLE);
mBinding.roomJb.setVisibility(GONE);
mBinding.roomLh.setVisibility(GONE);
mBinding.roomBo.setVisibility(View.VISIBLE);
2025-11-08 17:45:45 +08:00
2025-10-20 10:16:44 +08:00
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("抱麦");
}
2025-10-20 10:16:44 +08:00
}
2025-11-05 11:08:00 +08:00
if (isSelf) {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
mBinding.roomBo.setVisibility(GONE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("上麦");
}
2025-10-20 10:16:44 +08:00
}
2025-10-24 17:52:11 +08:00
mBinding.imQml.setVisibility(VISIBLE);
2025-10-20 10:16:44 +08:00
break;
case 3:
2025-11-05 11:08:00 +08:00
if (close_type == 1 || close_type == 2) { //主持查看房主或者管理员信息
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(View.GONE);
mBinding.roomJb.setVisibility(View.VISIBLE);
mBinding.roomLh.setVisibility(View.VISIBLE);
mBinding.roomBo.setVisibility(View.VISIBLE);
mBinding.roomMCz.setVisibility(GONE);
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(View.VISIBLE);
mBinding.roomJb.setVisibility(GONE);
mBinding.roomLh.setVisibility(GONE);
mBinding.roomBo.setVisibility(View.VISIBLE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("抱麦");
}
2025-10-20 10:16:44 +08:00
}
2025-11-05 11:08:00 +08:00
if (isSelf) {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
mBinding.roomBo.setVisibility(GONE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("上麦");
}
2025-10-20 10:16:44 +08:00
}
2025-10-24 17:52:11 +08:00
mBinding.imQml.setVisibility(VISIBLE);
2025-10-20 10:16:44 +08:00
break;
case 4:
2025-11-05 11:08:00 +08:00
if (close_type == 1 || close_type == 2 || close_type == 3) {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.VISIBLE);
mBinding.roomLh.setVisibility(View.VISIBLE);
mBinding.roomMCz.setVisibility(GONE);
mBinding.roomBo.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
mBinding.imQml.setVisibility(VISIBLE);
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.VISIBLE);
mBinding.roomLh.setVisibility(View.VISIBLE);
mBinding.roomMCz.setVisibility(GONE);
mBinding.roomBo.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
mBinding.imQml.setVisibility(GONE);
2025-10-20 10:16:44 +08:00
}
2025-11-05 11:08:00 +08:00
if (isSelf) {
2025-10-20 10:16:44 +08:00
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
mBinding.roomBo.setVisibility(GONE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
2025-10-24 17:52:11 +08:00
if (userInfo.getIs_in_pit() == 1) {
mBinding.roomMCz.setText("下麦");
} else {
mBinding.roomMCz.setText("上麦");
}
2025-10-20 10:16:44 +08:00
}
2025-10-24 17:52:11 +08:00
2025-10-20 10:16:44 +08:00
break;
default:
// 默认处理
break;
}
2025-11-05 11:08:00 +08:00
if (isPk) {
mBinding.roomBo.setVisibility(GONE);
}
}
2025-10-20 10:16:44 +08:00
@Override
public void downPit() {
dismiss();
}
@Override
public void kickOutRoom() {
dismiss();
}
@Override
public void postHostAdd(String s, String type, String is_add) {
if (type.equals("2")) {
if (is_add.equals("1")) {
userInfo.setIs_manager("1");
ToastUtils.show("添加管理员成功");
handleLogic(contentView);
} else {
userInfo.setIs_manager("0");
ToastUtils.show("取消管理员");
handleLogic(contentView);
}
} else if (type.equals("1")) {
if (is_add.equals("1")) {
userInfo.setIs_host("1");
ToastUtils.show("添加主持人成功");
handleLogic(contentView);
} else {
userInfo.setIs_host("0");
ToastUtils.show("取消主持人成功");
handleLogic(contentView);
}
}
}
@Override
public void setMutePit(String user_id, String is_mute) {
if (is_mute.equals("1")) {
userInfo.setIs_mute("1");
ToastUtils.show("禁麦成功");
} else if (is_mute.equals("3")) {
userInfo.setIs_mute("0");
} else if (is_mute.equals("2")) {
userInfo.setIs_mute_pit("1");
} else if (is_mute.equals("4")) {
userInfo.setIs_mute_pit("0");
}
}
@Override
public void addBlackList() {
dismiss();
}
@Override
public void userGuanzSuccess(String s) {
2025-11-05 11:08:00 +08:00
if (userInfo.getIs_follow() == 1) {
2025-10-20 10:16:44 +08:00
userInfo.setIs_follow(0);
mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_gz));
2025-11-05 11:08:00 +08:00
} else {
2025-10-20 10:16:44 +08:00
userInfo.setIs_follow(1);
mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_ygz));
}
}
@Override
public void hostUserPit() {
dismiss();
}
@Override
public void giveCoin() {
dismiss();
}
@Override
public void relationCard(RelationCardBean list) {
}
@Override
public void topRelationCard(String s) {
}
@Override
public void deleteRelationCard(String s) {
}
2025-10-24 17:52:11 +08:00
@Override
public void clearUserCharm() {
ToastUtils.show("清除成功");
}
@Override
public void applyPit() {
dismiss();
}
2025-10-20 10:16:44 +08:00
}