房间用户信息。

This commit is contained in:
2025-11-20 16:11:13 +08:00
parent cf73819ad0
commit db79bafdbc
9 changed files with 383 additions and 175 deletions

View File

@@ -117,9 +117,12 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
roomId = getArguments().getString("roomId");
jingp = getArguments().getInt("jingp");
heart_id = getArguments().getString("heart_id");
LogUtils.e("RoomGiftDialogFragment_roomInfoResp",roomInfoResp.toString());
LogUtils.e("RoomGiftDialogFragment_userInfo",userInfo.toString());
if (roomInfoResp != null) {
LogUtils.e("RoomGiftDialogFragment_roomInfoResp", roomInfoResp.toString());
}
if (userInfo != null) {
LogUtils.e("RoomGiftDialogFragment_userInfo", userInfo.toString());
}
}
@Override

View File

@@ -6,20 +6,26 @@ 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.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;
@@ -132,7 +138,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
@Override
protected void initData() {
if (type == 0) {
if (user_id.equals(String.valueOf(SpUtil.getUserId()))) {
mBinding.roomDian.setVisibility(GONE);
} else {
mBinding.roomDian.setVisibility(View.VISIBLE);
@@ -230,7 +236,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
startActivity(new Intent(getContext(), GiftWallActivity.class));
} 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("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) {
@@ -303,7 +309,7 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
// 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("url", String.format(WebUrlConstants.INSTANCE.getWEB_REPORT_URL(), SpUtil.getToken(), 1, user_id));
intent.putExtra("title", "举报");
startActivity(intent);
@@ -329,18 +335,60 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
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_kick_out).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) {
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);
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);
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_kick_out).setVisibility(VISIBLE);
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);
}
}
@@ -383,11 +431,11 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
public void getRoomUserInfo(UserInfo userInfo1) {
this.userInfo = userInfo1;
mBinding.ivAvatar.setData(userInfo.getAvatar(), "", userInfo.getNobility_image() + "");
String sex = userInfo.getSex()==1?"":"";
mBinding.tvId.setText(sex+" ID:"+userInfo.getUser_code());
String sex = userInfo.getSex() == 1 ? "" : "";
mBinding.tvId.setText(sex + " ID:" + userInfo.getUser_code());
mBinding.tvName.setText(userInfo.getNickname());
if (!userInfo.getNickname_color().isEmpty()){
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()));
@@ -424,9 +472,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
if (userInfo != null) {
mBinding.tvGh.setVisibility(VISIBLE);
mBinding.tvJoinGuild.setVisibility(GONE);
if (userInfo.getGuild().isEmpty()){
if (userInfo.getGuild().isEmpty()) {
mBinding.tvGh.setText("所属公会:无");
}else {
} else {
if (userInfo.getUser_id() != SpUtil.getUserId()) {
mBinding.tvJoinGuild.setVisibility(VISIBLE);
}
@@ -440,14 +488,115 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
mBinding.tvJoinGuild.setOnClickListener(v -> {
//跳转加入公会
Intent intent=new Intent(getContext(), WebViewActivity.class);
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_GUILD_URL(),SpUtil.getToken()));
Intent intent = new Intent(getContext(), WebViewActivity.class);
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_GUILD_URL(), SpUtil.getToken()));
intent.putExtra("title", "公会");
startActivity(intent);
});
updateUIBasedOnTypeAndUser();
dianj(1);
showCp();
}
private void showCp() {
if (userInfo.getCp_info() != null) {
mBinding.ll.setVisibility(VISIBLE);
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);
mBinding.tvCpNum.setText(userInfo.getCp_info().exp);
mBinding.cpAnim.setSource(userInfo.getCp_info().pendant, 1);
if (userInfo.getProfile().isEmpty()){
mBinding.jianj.setText("");
mBinding.jianj.setVisibility(GONE);
}else {
mBinding.jianj.setText(userInfo.getProfile());
mBinding.jianj.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);
}
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-左上'
switch (Integer.parseInt(userInfo.getCp_info().direction)) {
case 0:
params.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.HORIZONTAL);
mBinding.ivCp2.setPadding(10, 0, 0, 0);
break;
case 1:
mBinding.llCpAnimAvatar.setOrientation(LinearLayout.VERTICAL);
params.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
mBinding.ivCp2.setPadding(0, 10, 0, 0);
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.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;
}
mBinding.llCpAnimAvatar.setLayoutParams(params);
}
}
public void dianj(int type) {
@@ -517,9 +666,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
switch (type) {
case 1: // 房主
mBinding.roomDian.setVisibility(View.VISIBLE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
// 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);
@@ -529,9 +678,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
mBinding.roomMCz.setText("抱麦");
}
if (isSelf) {
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
// 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) {
@@ -544,16 +693,16 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
break;
case 2://管理员
if (close_type == 1) { //管理员查看房主信息
mBinding.roomDian.setVisibility(View.GONE);
mBinding.roomJb.setVisibility(View.VISIBLE);
mBinding.roomLh.setVisibility(View.VISIBLE);
// 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.roomDian.setVisibility(View.VISIBLE);
// mBinding.roomJb.setVisibility(GONE);
// mBinding.roomLh.setVisibility(GONE);
mBinding.roomBo.setVisibility(View.VISIBLE);
mBinding.roomMCz.setVisibility(View.VISIBLE);
@@ -564,9 +713,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
}
}
if (isSelf) {
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
// 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) {
@@ -579,15 +728,15 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
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.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.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) {
@@ -597,9 +746,9 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
}
}
if (isSelf) {
mBinding.roomDian.setVisibility(GONE);
mBinding.roomJb.setVisibility(View.GONE);
mBinding.roomLh.setVisibility(View.GONE);
// 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) {
@@ -619,17 +768,17 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
// 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);
// 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.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) {
@@ -711,10 +860,12 @@ public class RoomUserInfoFragment extends BaseMvpDialogFragment<RoomUserPresente
userInfo.setIs_follow(0);
// mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_gz));
mBinding.imRoomGz.setText("已关注");
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff999999")));
} else {
userInfo.setIs_follow(1);
// mBinding.imRoomGz.setImageDrawable(getResources().getDrawable(com.xscm.moduleutil.R.mipmap.room_ygz));
mBinding.imRoomGz.setText("+ 关注");
mBinding.imRoomGz.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#ff52FF96")));
}
}