974 lines
43 KiB
Java
974 lines
43 KiB
Java
package com.xscm.modulemain.dialog;
|
||
|
||
import static android.view.View.GONE;
|
||
import static android.view.View.VISIBLE;
|
||
|
||
import android.annotation.SuppressLint;
|
||
import android.content.Context;
|
||
import android.content.Intent;
|
||
import android.content.res.ColorStateList;
|
||
import android.graphics.Color;
|
||
import android.os.Bundle;
|
||
|
||
import androidx.annotation.NonNull;
|
||
import androidx.annotation.Nullable;
|
||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||
import androidx.fragment.app.FragmentManager;
|
||
|
||
import android.view.Gravity;
|
||
import android.view.LayoutInflater;
|
||
import android.view.View;
|
||
import android.view.Window;
|
||
import android.widget.ImageView;
|
||
import android.widget.LinearLayout;
|
||
import android.widget.TextView;
|
||
|
||
import com.alibaba.android.arouter.launcher.ARouter;
|
||
import com.blankj.utilcode.util.ActivityUtils;
|
||
import com.blankj.utilcode.util.LogUtils;
|
||
import com.xscm.modulemain.Application;
|
||
import com.xscm.modulemain.R;
|
||
import com.xscm.modulemain.activity.room.contacts.RoomUserContacts;
|
||
import com.xscm.modulemain.activity.user.activity.GiftWallActivity;
|
||
import com.xscm.modulemain.activity.user.activity.HeartCpActivity;
|
||
import com.xscm.modulemain.databinding.FragmentRoomUserInfoBinding;
|
||
import com.xscm.modulemain.activity.room.fragment.RelationshipFragment;
|
||
import com.xscm.modulemain.activity.room.presenter.RoomUserPresenter;
|
||
import com.example.zhouwei.library.CustomPopWindow;
|
||
import com.hjq.toast.ToastUtils;
|
||
import com.xscm.modulemain.activity.WebViewActivity;
|
||
import com.xscm.modulemain.manager.RoomManager;
|
||
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
|
||
import com.xscm.moduleutil.base.CommonAppContext;
|
||
import com.xscm.moduleutil.base.WebUrlConstants;
|
||
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:拍卖房 2:K歌房 3:语聊房 4:在线列表 5:聊天房,
|
||
private int isNum;//这里是当是拍卖房的时候,这个参数就是当前拍卖的id
|
||
private int guanType; // 1: 关系卡 2: 关系位
|
||
|
||
@Override
|
||
protected RoomUserPresenter bindPresenter() {
|
||
return new RoomUserPresenter(this, getActivity());
|
||
}
|
||
|
||
public static void show(String room_id, String user_id, String pit_number, int type, boolean isPk, int paim, int isNum, FragmentManager fragmentManager) {
|
||
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");
|
||
if (isPk) {
|
||
type = 4;
|
||
}
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||
super.onViewCreated(view, savedInstanceState);
|
||
LogUtils.e("roomId:" + room_id+",userId:"+user_id);
|
||
MvpPre.getRoomUserInfo(room_id, user_id);
|
||
}
|
||
|
||
@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 (user_id.equals(String.valueOf(SpUtil.getUserId()))) {
|
||
mBinding.roomDian.setVisibility(GONE);
|
||
} else {
|
||
mBinding.roomDian.setVisibility(View.VISIBLE);
|
||
}
|
||
|
||
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);
|
||
}
|
||
}
|
||
|
||
@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);
|
||
mBinding.imGs.setOnClickListener(this::onClick);
|
||
|
||
mBinding.textView1.setOnClickListener(this::onClick);
|
||
mBinding.textView2.setOnClickListener(this::onClick);
|
||
mBinding.moreButton.setOnClickListener(this::onClick);
|
||
mBinding.imQml.setOnClickListener(this::onClick);
|
||
mBinding.ivRightAvatar.setOnClickListener(this::onClick);
|
||
|
||
// 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("上麦")) {
|
||
MvpPre.applyPit(room_id, "");
|
||
} else if (mBinding.roomMCz.getText().equals("抱麦")) {
|
||
MvpPre.hostUserPit(room_id, pit_number, user_id, "1");
|
||
} else {
|
||
if (user_id.equals(SpUtil.getUserId() + "")) {
|
||
MvpPre.downPit(room_id, pit_number);
|
||
} else {
|
||
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.roomDian, 0, 20);
|
||
} else if (id == R.id.im_room_t) {
|
||
userInfo.setTa("1");
|
||
EventBus.getDefault().post(userInfo);
|
||
dismiss();
|
||
} else if (id == R.id.im_room_lt) {
|
||
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);
|
||
startActivity(intent);
|
||
} else if (id == R.id.im_room_gz) {
|
||
MvpPre.userGuanz(user_id, "1");
|
||
} else if (id == R.id.im_room_sl) {
|
||
if (userInfo != null) {
|
||
if (pit_number == null) {
|
||
pit_number = "";
|
||
}
|
||
userInfo.setPit_number(pit_number);
|
||
LogUtils.e("RoomGiftDialogFragment_userinfo");
|
||
RoomGiftDialogFragment.show(null, userInfo, room_id, 0, "", getParentFragmentManager());
|
||
}
|
||
dismiss();
|
||
} else if (id == R.id.room_lh) {
|
||
MvpPre.addBlackList(user_id);
|
||
} else if (id == R.id.room_rl_gift) {
|
||
// ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", userInfo.getUser_id() + "").withInt("type", 1).navigation();
|
||
Intent intent = new Intent(getContext(), GiftWallActivity.class);
|
||
intent.putExtra("userId", userInfo.getUser_id());
|
||
startActivity(intent);
|
||
} else if (id == R.id.room_jb) {
|
||
Intent intent = new Intent(getActivity(), WebViewActivity.class);
|
||
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(), SpUtil.getToken(), 1, user_id));
|
||
intent.putExtra("title", "举报");
|
||
startActivity(intent);
|
||
} else if (id == R.id.iv_avatar) {
|
||
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", userInfo.getUser_id() + "").navigation();
|
||
dismiss();
|
||
} else if (id == R.id.tv_zb) {
|
||
RoomHostZBDialog dialog = new RoomHostZBDialog(getContext());
|
||
dialog.setListener(new RoomHostIncomeDialog.OnConfirmClickListener() {
|
||
@Override
|
||
public void onConfirm(String proportion) {
|
||
MvpPre.giveCoin(user_id, proportion);
|
||
}
|
||
});
|
||
dialog.show();
|
||
} else if (id == R.id.more_button) {
|
||
RelationshipFragment.show(user_id, guanType, getParentFragmentManager());
|
||
dismiss();
|
||
// } else if (id == R.id.textView1) {
|
||
// dianj(1);
|
||
// } else if (id == R.id.textView2) {
|
||
// dianj(2);
|
||
} else if (id == R.id.im_qml) {
|
||
MvpPre.clearUserCharm(room_id, user_id);
|
||
} else if (id == R.id.im_gs) {
|
||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), room_id, "", null);
|
||
}else if (id == R.id.iv_right_avatar){
|
||
if(userInfo.getMaster()!=null && userInfo.getMaster().getUser_id()!=null) {
|
||
ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", userInfo.getMaster().getUser_id() + "").navigation();
|
||
dismiss();
|
||
}
|
||
}
|
||
|
||
// 通过 ID 获取资源名称
|
||
String viewName = "";
|
||
try {
|
||
viewName = view.getContext().getResources().getResourceEntryName(id);
|
||
} catch (Exception e) {
|
||
viewName = "未知View ID: " + id;
|
||
}
|
||
LogUtils.e("roomUserInfoFragment","点击了" + viewName );
|
||
}
|
||
|
||
/**
|
||
* 处理弹出显示内容、点击事件等逻辑
|
||
*
|
||
* @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 举报功能
|
||
Intent intent = new Intent(getActivity(), WebViewActivity.class);
|
||
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(), SpUtil.getToken(), 1, user_id));
|
||
intent.putExtra("title", "举报");
|
||
startActivity(intent);
|
||
|
||
dismiss();
|
||
} 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);
|
||
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_mute).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_kick_out).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_ban).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_report).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_blacklist).setVisibility(VISIBLE);
|
||
|
||
|
||
if (type == 1) {
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_mute).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_kick_out).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_ban).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_report).setVisibility(VISIBLE);
|
||
contentView.findViewById(R.id.action_blacklist).setVisibility(VISIBLE);
|
||
} else if (type == 2) {
|
||
switch (close_type) {
|
||
case 1:
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_mute).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_kick_out).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_ban).setVisibility(GONE);
|
||
break;
|
||
case 2:
|
||
case 3:
|
||
case 4:
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(GONE);
|
||
break;
|
||
}
|
||
} else if (type == 3) {
|
||
switch (close_type) {
|
||
case 1:
|
||
case 2:
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_mute).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_kick_out).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_ban).setVisibility(GONE);
|
||
break;
|
||
case 3:
|
||
case 4:
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(GONE);
|
||
break;
|
||
}
|
||
} else if (type == 4) {
|
||
contentView.findViewById(R.id.action_set_manager).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_set_host).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_mute).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_kick_out).setVisibility(GONE);
|
||
contentView.findViewById(R.id.action_ban).setVisibility(GONE);
|
||
}
|
||
}
|
||
|
||
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) {
|
||
|
||
// 检查 Fragment 是否还 attached 到 Activity
|
||
if (!isAdded() || getContext() == null) {
|
||
LogUtils.e("RoomUserInfoFragment", "Fragment not attached to context, skipping operation");
|
||
return;
|
||
}
|
||
|
||
this.userInfo = userInfo1;
|
||
mBinding.ivAvatar.setData(userInfo.getAvatar(), "", userInfo.getNobility_image() + "");
|
||
String sex = userInfo.getSex() == 1 ? "男" : "女";
|
||
mBinding.tvId.setText(sex + " ID:" + userInfo.getUser_code());
|
||
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);
|
||
}
|
||
|
||
if(userInfo.getMaster()!=null){
|
||
mBinding.ivRightAvatar.setVisibility(VISIBLE);
|
||
mBinding.ivRightAvatar.setMaster(userInfo.getMaster().getAvatar());
|
||
}else {
|
||
mBinding.ivRightAvatar.setVisibility(GONE);
|
||
}
|
||
|
||
// mBinding.tvName.setTextColor( (userInfo.getNickname_color()!=null && !userInfo.getNickname_color().equals(""))? Color.parseColor(userInfo.getNickname_color()):Color.parseColor("#333333"));
|
||
// mBinding.tvId.setText("ID:" + userInfo.getUser_code());
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("上麦");
|
||
}
|
||
|
||
if (userInfo.getIs_follow() == 1) {
|
||
// mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_ygz));
|
||
mBinding.imRoomGz.setText("已关注");
|
||
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff999999")));
|
||
} else {
|
||
// mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_gz));
|
||
mBinding.imRoomGz.setText("+ 关注");
|
||
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff52FF96")));
|
||
}
|
||
|
||
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;
|
||
}
|
||
|
||
if (userInfo != null) {
|
||
mBinding.tvGh.setVisibility(VISIBLE);
|
||
mBinding.tvJoinGuild.setVisibility(GONE);
|
||
if (userInfo.getGuild_name() == null || userInfo.getGuild_name().isEmpty()) {
|
||
mBinding.tvGh.setText("所属公会:无");
|
||
} else {
|
||
if (userInfo.getUser_id() == SpUtil.getUserId()){
|
||
mBinding.tvJoinGuild.setVisibility(GONE);
|
||
}else if (userInfo.getMe_guild_name() == null || userInfo.getMe_guild_name().isEmpty()){
|
||
mBinding.tvJoinGuild.setVisibility(VISIBLE);
|
||
}
|
||
mBinding.tvGh.setText("所属公会:" + userInfo.getGuild_name());
|
||
}
|
||
} else {
|
||
mBinding.tvGh.setVisibility(GONE);
|
||
mBinding.tvJoinGuild.setVisibility(GONE);
|
||
}
|
||
mBinding.tvTs.setText(String.format("90天内累计收到 %s 个礼物", userInfo.getGift_num()));
|
||
|
||
mBinding.tvJoinGuild.setOnClickListener(v -> {
|
||
//跳转加入公会
|
||
Intent intent = new Intent(getContext(), WebViewActivity.class);
|
||
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_GUILD_URL(), SpUtil.getToken(), userInfo.getGuild_id()));
|
||
intent.putExtra("title", "公会");
|
||
startActivity(intent);
|
||
});
|
||
|
||
updateUIBasedOnTypeAndUser();
|
||
// dianj(1);
|
||
showCp();
|
||
}
|
||
|
||
private void showCp() {
|
||
|
||
if (userInfo.getUser_id() == SpUtil.getUserId()){
|
||
mBinding.imRoomGz.setVisibility(GONE);
|
||
}else {
|
||
mBinding.imRoomGz.setVisibility(VISIBLE);
|
||
}
|
||
|
||
if (!userInfo.getIcon().isEmpty()) {
|
||
mBinding.flexEntry.setVisibility(VISIBLE);
|
||
for (String url : userInfo.getIcon()) {
|
||
if (url.contains("http")) {
|
||
ImageView imageView1 = new ImageView(Application.getInstance());
|
||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||
Application.getInstance().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_20)
|
||
);
|
||
params.setMargins(0, 0, Application.getInstance().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距
|
||
imageView1.setLayoutParams(params);
|
||
imageView1.setScaleType(ImageView.ScaleType.FIT_START);
|
||
|
||
// 使用 Glide 加载图片
|
||
ImageUtils.loadHeadCC(url, imageView1, params);
|
||
mBinding.flexEntry.addView(imageView1);
|
||
}
|
||
}
|
||
} else {
|
||
mBinding.flexEntry.setVisibility(GONE);
|
||
}
|
||
|
||
if (userInfo.getProfile().isEmpty()) {
|
||
mBinding.jianj.setText("");
|
||
mBinding.jianj.setVisibility(GONE);
|
||
} else {
|
||
mBinding.jianj.setText(userInfo.getProfile());
|
||
mBinding.jianj.setVisibility(VISIBLE);
|
||
}
|
||
|
||
if (userInfo.getCp_info() != null) {
|
||
mBinding.ll.setVisibility(VISIBLE);
|
||
|
||
mBinding.ll.setOnClickListener(new View.OnClickListener() {
|
||
@Override
|
||
public void onClick(View v) {
|
||
Intent intent = new Intent(ActivityUtils.getTopActivity(), HeartCpActivity.class);
|
||
intent.putExtra("userId",userInfo.getUser_id());
|
||
startActivity(intent);
|
||
}
|
||
});
|
||
|
||
ImageUtils.loadHeadCC(userInfo.getCp_info().user_info1.avatar, mBinding.userNav1);
|
||
ImageUtils.loadHeadCC(userInfo.getCp_info().user_info2.avatar, mBinding.userNav2);
|
||
mBinding.tvNickname1.setText(userInfo.getCp_info().user_info1.nickname);
|
||
mBinding.tvNickname2.setText(userInfo.getCp_info().user_info2.nickname);
|
||
mBinding.tvCpLv.setText("LV" + userInfo.getCp_info().level + " " + userInfo.getCp_info().name);
|
||
|
||
long xd = Long.parseLong(userInfo.getCp_info().exp);
|
||
|
||
if (xd >= 10000) {
|
||
mBinding.tvCpNum.setText(String.format("%.1fw", xd / 10000.0f));
|
||
} else {
|
||
mBinding.tvCpNum.setText(String.valueOf(xd));
|
||
}
|
||
|
||
mBinding.cpAnim.setMute(true);
|
||
mBinding.cpAnim.setSource(userInfo.getCp_info().pendant, 1);
|
||
|
||
ImageUtils.loadHeadCC(userInfo.getCp_info().user_info1.avatar, mBinding.ivCp1);
|
||
ImageUtils.loadHeadCC(userInfo.getCp_info().user_info2.avatar, mBinding.ivCp2);
|
||
ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.WRAP_CONTENT,
|
||
ConstraintLayout.LayoutParams.WRAP_CONTENT);
|
||
//挂件上的头像位置:0-上,1-右上,2-右,3-右下,4-下,5-左下,6-左,7-左上'
|
||
try {
|
||
switch (Integer.parseInt(userInfo.getCp_info().direction)) {
|
||
case 0:
|
||
params.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.bottomToTop = mBinding.topGuideline.getId();
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.HORIZONTAL);
|
||
break;
|
||
case 1:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
|
||
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
case 2:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
|
||
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
case 3:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
|
||
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
case 4:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.HORIZONTAL);
|
||
params.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.topToBottom = mBinding.bottomGuideline.getId();
|
||
params.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
case 5:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
|
||
params.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
case 6:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
|
||
params.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
case 7:
|
||
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
|
||
params.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
|
||
break;
|
||
}
|
||
}catch (NullPointerException e){
|
||
LogUtils.e("挂件位置异常"+e.toString());
|
||
}
|
||
mBinding.llCpAnimAvatar.setLayoutParams(params);
|
||
}
|
||
}
|
||
|
||
public void dianj(int type) {
|
||
if (type == 1) {
|
||
guanType = 1;
|
||
setTextViewStyle(mBinding.textView2, false);
|
||
setTextViewStyle(mBinding.textView1, true);
|
||
if (userInfo.getQinmi() != null && !userInfo.getQinmi().equals("")) {
|
||
mBinding.ll.setVisibility(VISIBLE);
|
||
// 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());
|
||
mBinding.tvTime.setText(TimeUtils.formatDuration2(Long.parseLong(userInfo.getQinmi().getEnd_time()) * 1000 - System.currentTimeMillis()));
|
||
} else {
|
||
mBinding.ll.setVisibility(GONE);
|
||
}
|
||
} else if (type == 2) {
|
||
guanType = 2;
|
||
setTextViewStyle(mBinding.textView2, true);
|
||
setTextViewStyle(mBinding.textView1, false);
|
||
if (userInfo.getZhenai() != null && !userInfo.getZhenai().equals("")) {
|
||
mBinding.ll.setVisibility(VISIBLE);
|
||
// 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());
|
||
mBinding.tvTime.setText(TimeUtils.formatDuration2(Long.parseLong(userInfo.getZhenai().getEnd_time()) * 1000 - System.currentTimeMillis()));
|
||
} else {
|
||
mBinding.ll.setVisibility(GONE);
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
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() {
|
||
int userId = SpUtil.getUserId();
|
||
boolean isSelf = userId == userInfo.getUser_id();
|
||
// if (pit_number!=null && pit_number.equals("-1")){
|
||
// type=0;
|
||
// isSelf=false;
|
||
// }
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
} else {
|
||
mBinding.roomMCz.setVisibility(GONE);
|
||
}
|
||
if (paim == 1 && pit_number != null && (pit_number.equals("888") || pit_number.equals("111") || pit_number.equals("222") || pit_number.equals("333"))) {
|
||
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);
|
||
mBinding.imQml.setVisibility(VISIBLE);
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("抱麦");
|
||
}
|
||
if (isSelf) {
|
||
// mBinding.roomDian.setVisibility(GONE);
|
||
// mBinding.roomJb.setVisibility(View.GONE);
|
||
// mBinding.roomLh.setVisibility(View.GONE);
|
||
mBinding.roomBo.setVisibility(GONE);
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("上麦");
|
||
}
|
||
}
|
||
|
||
break;
|
||
case 2://管理员
|
||
if (close_type == 1) { //管理员查看房主信息
|
||
// mBinding.roomDian.setVisibility(View.GONE);
|
||
// mBinding.roomJb.setVisibility(View.VISIBLE);
|
||
// mBinding.roomLh.setVisibility(View.VISIBLE);
|
||
mBinding.roomBo.setVisibility(VISIBLE);
|
||
mBinding.roomMCz.setVisibility(GONE);
|
||
|
||
} else {
|
||
// mBinding.roomDian.setVisibility(View.VISIBLE);
|
||
// mBinding.roomJb.setVisibility(GONE);
|
||
// mBinding.roomLh.setVisibility(GONE);
|
||
mBinding.roomBo.setVisibility(View.VISIBLE);
|
||
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("抱麦");
|
||
}
|
||
}
|
||
if (isSelf) {
|
||
// mBinding.roomDian.setVisibility(GONE);
|
||
// mBinding.roomJb.setVisibility(View.GONE);
|
||
// mBinding.roomLh.setVisibility(View.GONE);
|
||
mBinding.roomBo.setVisibility(GONE);
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("上麦");
|
||
}
|
||
}
|
||
mBinding.imQml.setVisibility(VISIBLE);
|
||
break;
|
||
case 3:
|
||
if (close_type == 1 || close_type == 2) { //主持查看房主或者管理员信息
|
||
// mBinding.roomDian.setVisibility(View.GONE);
|
||
// mBinding.roomJb.setVisibility(View.VISIBLE);
|
||
// mBinding.roomLh.setVisibility(View.VISIBLE);
|
||
mBinding.roomBo.setVisibility(View.VISIBLE);
|
||
mBinding.roomMCz.setVisibility(GONE);
|
||
} else {
|
||
// mBinding.roomDian.setVisibility(View.VISIBLE);
|
||
// mBinding.roomJb.setVisibility(GONE);
|
||
// mBinding.roomLh.setVisibility(GONE);
|
||
mBinding.roomBo.setVisibility(View.VISIBLE);
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("抱麦");
|
||
}
|
||
}
|
||
if (isSelf) {
|
||
// mBinding.roomDian.setVisibility(GONE);
|
||
// mBinding.roomJb.setVisibility(View.GONE);
|
||
// mBinding.roomLh.setVisibility(View.GONE);
|
||
mBinding.roomBo.setVisibility(GONE);
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("上麦");
|
||
}
|
||
}
|
||
mBinding.imQml.setVisibility(VISIBLE);
|
||
break;
|
||
case 4:
|
||
// if (close_type == 1 || close_type == 2 || close_type == 3) {
|
||
// mBinding.roomDian.setVisibility(GONE);
|
||
// mBinding.roomJb.setVisibility(View.VISIBLE);
|
||
// mBinding.roomLh.setVisibility(View.VISIBLE);
|
||
// mBinding.roomMCz.setVisibility(GONE);
|
||
// mBinding.roomBo.setVisibility(View.VISIBLE);
|
||
// mBinding.imQml.setVisibility(VISIBLE);
|
||
// } else {
|
||
// mBinding.roomDian.setVisibility(GONE);
|
||
// mBinding.roomJb.setVisibility(View.VISIBLE);
|
||
// mBinding.roomLh.setVisibility(View.VISIBLE);
|
||
mBinding.roomMCz.setVisibility(GONE);
|
||
mBinding.roomBo.setVisibility(View.VISIBLE);
|
||
mBinding.imQml.setVisibility(GONE);
|
||
// }
|
||
if (isSelf) {
|
||
// mBinding.roomDian.setVisibility(GONE);
|
||
// mBinding.roomJb.setVisibility(View.GONE);
|
||
// mBinding.roomLh.setVisibility(View.GONE);
|
||
mBinding.roomBo.setVisibility(GONE);
|
||
mBinding.roomMCz.setVisibility(View.VISIBLE);
|
||
if (userInfo.getIs_in_pit() == 1) {
|
||
mBinding.roomMCz.setText("下麦");
|
||
} else {
|
||
mBinding.roomMCz.setText("上麦");
|
||
}
|
||
}
|
||
|
||
break;
|
||
default:
|
||
// 默认处理
|
||
break;
|
||
}
|
||
|
||
if (isPk) {
|
||
mBinding.roomBo.setVisibility(GONE);
|
||
}
|
||
}
|
||
|
||
@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) {
|
||
LogUtils.e("userGuanzSuccess :"+userInfo.getIs_follow());
|
||
if (userInfo.getIs_follow() == 1) {
|
||
userInfo.setIs_follow(0);
|
||
mBinding.imRoomGz.setText("+ 关注");
|
||
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff52FF96")));
|
||
} else {
|
||
userInfo.setIs_follow(1);
|
||
mBinding.imRoomGz.setText("已关注");
|
||
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff999999")));
|
||
}
|
||
}
|
||
|
||
@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) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void clearUserCharm() {
|
||
ToastUtils.show("清除成功");
|
||
}
|
||
|
||
@Override
|
||
public void applyPit() {
|
||
dismiss();
|
||
}
|
||
|
||
|
||
} |