1:修改点歌房出现的错误

2:修改进入家族详情页面
This commit is contained in:
2025-12-03 20:02:14 +08:00
parent 8e9f6fa23c
commit 0d5e64e31a
12 changed files with 85 additions and 55 deletions

View File

@@ -64,7 +64,7 @@ public class RoomPitBean implements Serializable {
private String dress_picture; private String dress_picture;
private RankInfo rank_info; private RankInfo rank_info;
private int ball_state;//1开球0未开球 private int ball_state;//1开球0未开球
private int is_online;//是否在线 : 1在线 2离线 private int is_online=1;//是否在线 : 1在线 2离线
private String to_pit_number; private String to_pit_number;
private boolean is_pk;//是否是在pk模式中 private boolean is_pk;//是否是在pk模式中
private boolean isMute;//是否打开麦圈 private boolean isMute;//是否打开麦圈

View File

@@ -179,7 +179,15 @@ public abstract class BaseWheatView extends ConstraintLayout implements IBaseWhe
setCardiac(pitBean.getCharm(), getTzbl()); setCardiac(pitBean.getCharm(), getTzbl());
if (bean.getUser_id() != null && !bean.getUser_id().equals("0") && !bean.getUser_id().isEmpty()) { if (bean.getUser_id() != null && !bean.getUser_id().equals("0") && !bean.getUser_id().isEmpty()) {
iv_on_line.setVisibility(pitBean.getIs_online() == 1 ? GONE : VISIBLE); if (bean.getIs_online()==1){
iv_on_line.setVisibility(GONE);
}else if (bean.getIs_online()==2){
if (!bean.getUser_id().equals(SpUtil.getUserId()+"")) {
iv_on_line.setVisibility(VISIBLE);
}
}else {
iv_on_line.setVisibility(GONE);
}
} else { } else {
iv_on_line.setVisibility(GONE); iv_on_line.setVisibility(GONE);
} }
@@ -420,7 +428,15 @@ public abstract class BaseWheatView extends ConstraintLayout implements IBaseWhe
public void setOnlineStatus() { public void setOnlineStatus() {
if (pitBean.getUser_id() != null && !pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) { if (pitBean.getUser_id() != null && !pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) {
iv_on_line.setVisibility(pitBean.getIs_online() == 1 ? GONE : VISIBLE); if (pitBean.getIs_online()==1){
iv_on_line.setVisibility(GONE);
}else if (pitBean.getIs_online()==2){
if (!pitBean.getUser_id().equals(SpUtil.getUserId()+"")) {
iv_on_line.setVisibility(VISIBLE);
}
}else {
iv_on_line.setVisibility(GONE);
}
} else { } else {
iv_on_line.setVisibility(GONE); iv_on_line.setVisibility(GONE);
} }

View File

@@ -152,7 +152,7 @@ public class RewardGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPr
} }
}); });
} else { } else {
mBinding.tvGiveCoinNum.setText(giftNumBean.getNumber()); mBinding.tvGiveCoinNum.setText(giftNumBean.getText());
} }
mSelectGiftNumPopupWindow.dismiss(); mSelectGiftNumPopupWindow.dismiss();
}); });

View File

@@ -1091,16 +1091,16 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
} }
@Subscribe(threadMode = ThreadMode.MAIN) // @Subscribe(threadMode = ThreadMode.MAIN)
public void onEvent(ChatInfo event) { // public void onEvent(ChatInfo event) {
if(ActivityUtils.getTopActivity() instanceof WebViewActivity){ // if(ActivityUtils.getTopActivity() instanceof WebViewActivity){
return; // return;
} // }
String id = event.getId().replace("g", ""); // String id = event.getId().replace("g", "");
Intent intent = new Intent(this, WebViewActivity.class); // Intent intent = new Intent(this, WebViewActivity.class);
intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_SET_GROUP_URL(), SpUtil.getToken(), id)); // intent.putExtra("url", String.format(WebUrlConstants.INSTANCE.getWEB_SET_GROUP_URL(), SpUtil.getToken(), id));
startActivity(intent); // startActivity(intent);
} // }
public void singleTaskToActivity(Class<?> clazz) { public void singleTaskToActivity(Class<?> clazz) {

View File

@@ -420,7 +420,7 @@ public class WebViewActivity extends BaseMvpActivity<IPresenter,ActivityWebViewB
@JavascriptInterface @JavascriptInterface
public void enterGroupChat(String group_id, String cover, String guild_name) { public void enterGroupChat(String group_id, String cover, String guild_name) {
Intent intent = new Intent(mContext, TUIGroupChatActivity.class); Intent intent = new Intent(mContext, TUIGroupChatActivity.class);
intent.putExtra(TUIConstants.TUIChat.CHAT_ID, group_id); intent.putExtra(TUIConstants.TUIChat.CHAT_ID, "g"+group_id);
intent.putExtra(TUIConstants.TUIChat.CHAT_NAME, guild_name); intent.putExtra(TUIConstants.TUIChat.CHAT_NAME, guild_name);
intent.putExtra(TUIConstants.TUIChat.CHAT_TYPE, V2TIMConversation.V2TIM_GROUP); intent.putExtra(TUIConstants.TUIChat.CHAT_TYPE, V2TIMConversation.V2TIM_GROUP);
mContext.startActivity(intent); mContext.startActivity(intent);

View File

@@ -1441,7 +1441,13 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
LogUtils.e("messageEvent!!.text.type" + messageEvent.text.type) LogUtils.e("messageEvent!!.text.type" + messageEvent.text.type)
CommonAppContext.getInstance().onlineMap[userId ?: ""] = messageEvent.text.type CommonAppContext.getInstance().onlineMap[userId ?: ""] = messageEvent.text.type
if (mRoomInfoResp != null && mRoomInfoResp?.room_info != null) { if (mRoomInfoResp != null && mRoomInfoResp?.room_info != null) {
roomFragment!!.handleRoomMessage(messageEvent) if (userId.equals(SpUtil.getUserId().toString())){
if(messageEvent.text.type!=2){
roomFragment!!.handleRoomMessage(messageEvent)
}
}else {
roomFragment!!.handleRoomMessage(messageEvent)
}
// when(mRoomInfoResp?.room_info?.type_id) { // when(mRoomInfoResp?.room_info?.type_id) {
// "1","3","4","8" -> { // "1","3","4","8" -> {
// if (mRoomInfoResp?.room_info?.label_id == "1") { // if (mRoomInfoResp?.room_info?.label_id == "1") {
@@ -1916,8 +1922,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
roomFragment!!.handleRoomMessage(messageEvent) roomFragment!!.handleRoomMessage(messageEvent)
} }
RoomType.JUKEBOX -> { RoomType.JUKEBOX -> {
mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] = mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] =RoomPitBean(pitNumber)
getPitBean(messageEvent, 1) // getPitBean(messageEvent, 1)
roomFragment!!.upRoomInfoData(mRoomInfoResp) roomFragment!!.upRoomInfoData(mRoomInfoResp)
roomFragment?.handleRoomMessage(messageEvent) roomFragment?.handleRoomMessage(messageEvent)
} }

View File

@@ -394,17 +394,16 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
mBinding.tvPerformerName.setVisibility(GONE); mBinding.tvPerformerName.setVisibility(GONE);
mBinding.tvNetName.setVisibility(VISIBLE); mBinding.tvNetName.setVisibility(VISIBLE);
mBinding.ciNetAva.setVisibility(VISIBLE); mBinding.ciNetAva.setVisibility(VISIBLE);
setUserAvaSize(63); ImageUtils.loadHeadCC(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
// ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva); // ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
mBinding.tvSong.setText("演唱歌曲:" + roomInfoResp.getSinger_info().getSong_info().getSong_name()); mBinding.tvSong.setText("演唱歌曲:" + roomInfoResp.getSinger_info().getSong_info().getSong_name());
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getBoss_avatar(), mBinding.ciNetAva); ImageUtils.loadHeadCC(roomInfoResp.getSinger_info().getSong_info().getBoss_avatar(), mBinding.ciNetAva);
mBinding.tvNetName.setText("老板"); mBinding.tvNetName.setText("老板");
songId = roomInfoResp.getSinger_info().getSong_info().getId(); songId = roomInfoResp.getSinger_info().getSong_info().getId();
if (roomInfoResp.getSinger_info().getNext_song_info() != null) { if (roomInfoResp.getSinger_info().getNext_song_info() != null) {
mBinding.guestContainer.setVisibility(View.VISIBLE); mBinding.guestContainer.setVisibility(View.VISIBLE);
ImageUtils.loadHead(roomInfoResp.getSinger_info().getNext_song_info().getSinger_avatar(), mBinding.ciGsAva); ImageUtils.loadHeadCC(roomInfoResp.getSinger_info().getNext_song_info().getSinger_avatar(), mBinding.ciGsAva);
mBinding.tvGsName.setText(roomInfoResp.getSinger_info().getNext_song_info().getSinger_nickname()); mBinding.tvGsName.setText(roomInfoResp.getSinger_info().getNext_song_info().getSinger_nickname());
} else { } else {
mBinding.guestContainer.setVisibility(GONE); mBinding.guestContainer.setVisibility(GONE);
@@ -428,8 +427,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
} }
} else { } else {
setUserAvaSize(32); mBinding.ciUserAva.setImageResource(0);
mBinding.ciUserAva.setImageResource(R.mipmap.microphone);
mBinding.tvPerformerName.setVisibility(VISIBLE); mBinding.tvPerformerName.setVisibility(VISIBLE);
mBinding.tvNetName.setVisibility(GONE); mBinding.tvNetName.setVisibility(GONE);
mBinding.ciNetAva.setVisibility(GONE); mBinding.ciNetAva.setVisibility(GONE);
@@ -482,7 +480,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
pitBean.setSex(fromUserInfo.getSex() + ""); pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm()); pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress()); pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
// 确保视图的pitNumber与数据的pit_number匹配 // 确保视图的pitNumber与数据的pit_number匹配
if (pitNumber.equals("9")) { if (pitNumber.equals("9")) {
mBinding.wvZc.setRoomWheatNumber("9"); mBinding.wvZc.setRoomWheatNumber("9");
@@ -498,7 +496,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
pitBean.setSex(fromUserInfo.getSex() + ""); pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm()); pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress()); pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
// 使用set方法更新数据然后通知适配器 // 使用set方法更新数据然后通知适配器
dataList.set(position, pitBean); dataList.set(position, pitBean);
adapter.notifyItemChanged(position); adapter.notifyItemChanged(position);
@@ -573,6 +571,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
// 使用set方法更新数据然后通知适配器 // 使用set方法更新数据然后通知适配器
dataList.set(position, pitBean); dataList.set(position, pitBean);
adapter.setNewData(dataList);
adapter.notifyItemChanged(position); adapter.notifyItemChanged(position);
} }
if (userId == SpUtil.getUserId()) { if (userId == SpUtil.getUserId()) {
@@ -601,7 +600,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
pitBean.setSex(fromUserInfo.getSex() + ""); pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm()); pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress()); pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
// 确保视图的pitNumber与数据的pit_number匹配 // 确保视图的pitNumber与数据的pit_number匹配
if (pitNumber.equals("9")) { if (pitNumber.equals("9")) {
mBinding.wvZc.setRoomWheatNumber("9"); mBinding.wvZc.setRoomWheatNumber("9");
@@ -696,8 +695,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
mBinding.tvPerformerName.setVisibility(GONE); mBinding.tvPerformerName.setVisibility(GONE);
mBinding.tvNetName.setVisibility(VISIBLE); mBinding.tvNetName.setVisibility(VISIBLE);
mBinding.ciNetAva.setVisibility(VISIBLE); mBinding.ciNetAva.setVisibility(VISIBLE);
setUserAvaSize(63);
ImageUtils.loadHead(messageEvent.getText().getSong_info().getSinger_avatar(), mBinding.ciUserAva); ImageUtils.loadHead(messageEvent.getText().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
mBinding.tvSong.setText("演唱歌曲:" + messageEvent.getText().getSong_info().getSong_name()); mBinding.tvSong.setText("演唱歌曲:" + messageEvent.getText().getSong_info().getSong_name());
@@ -725,8 +722,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
} }
} else { } else {
setUserAvaSize(32); mBinding.ciUserAva.setImageResource(0);
mBinding.ciUserAva.setImageResource(R.mipmap.microphone);
mBinding.tvPerformerName.setVisibility(VISIBLE); mBinding.tvPerformerName.setVisibility(VISIBLE);
mBinding.tvNetName.setVisibility(GONE); mBinding.tvNetName.setVisibility(GONE);
mBinding.ciNetAva.setVisibility(GONE); mBinding.ciNetAva.setVisibility(GONE);
@@ -737,11 +733,11 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
// TODO: 2025/11/22 当有演唱者的时候,修改演唱者头像的大小 // TODO: 2025/11/22 当有演唱者的时候,修改演唱者头像的大小
private void setUserAvaSize(int size) { private void setUserAvaSize(int size) {
// 设置控件大小为50dp x 50dp // 设置控件大小为50dp x 50dp
int sizeInPx = (int) (size * getResources().getDisplayMetrics().density + 0.5f); // int sizeInPx = (int) (size * getResources().getDisplayMetrics().density + 0.5f);
ViewGroup.LayoutParams layoutParams = mBinding.ciUserAva.getLayoutParams(); // ViewGroup.LayoutParams layoutParams = mBinding.ciUserAva.getLayoutParams();
layoutParams.width = sizeInPx; // layoutParams.width = sizeInPx;
layoutParams.height = sizeInPx; // layoutParams.height = sizeInPx;
mBinding.ciUserAva.setLayoutParams(layoutParams); // mBinding.ciUserAva.setLayoutParams(layoutParams);
} }
// TODO: 2025/11/22 当在演唱位的时候,显示麦克风,当上麦的时候,也展示麦克风, // TODO: 2025/11/22 当在演唱位的时候,显示麦克风,当上麦的时候,也展示麦克风,

View File

@@ -89,7 +89,7 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
// 默认选中第一个可用麦位 // 默认选中第一个可用麦位
if (wheatPositions!=null&&!wheatPositions.isEmpty()) { if (wheatPositions!=null&&!wheatPositions.isEmpty()) {
selectedWheatPosition = Integer.parseInt(wheatPositions.get(0).getId()); selectedWheatPosition = Integer.parseInt(wheatPositions.get(0).getUser_id());
wheatPositionAdapter.setSelectedPosition(0); wheatPositionAdapter.setSelectedPosition(0);
updateSongList(selectedWheatPosition); updateSongList(selectedWheatPosition);
} }

View File

@@ -22,7 +22,9 @@ class ForegroundService : Service() {
timer?.schedule(object : TimerTask() { timer?.schedule(object : TimerTask() {
override fun run() { override fun run() {
Log.d("ForegroundService", "Timer task ${logInt++}") Log.d("ForegroundService", "Timer task ${logInt++}")
RetrofitClient.getInstance().keepXintiao(CommonAppContext.getInstance().playId); if (CommonAppContext.getInstance().playId!= null && CommonAppContext.getInstance().playId .isNotEmpty()) {
RetrofitClient.getInstance().keepXintiao(CommonAppContext.getInstance().playId);
}
} }
}, 0L, 60000L) }, 0L, 60000L)
} }

View File

@@ -67,7 +67,6 @@
<com.makeramen.roundedimageview.RoundedImageView <com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/ci_user_ava"
android:layout_width="@dimen/dp_32" android:layout_width="@dimen/dp_32"
android:layout_height="@dimen/dp_32" android:layout_height="@dimen/dp_32"
android:src="@mipmap/microphone" android:src="@mipmap/microphone"
@@ -77,6 +76,15 @@
app:layout_constraintTop_toTopOf="@+id/im_performer" app:layout_constraintTop_toTopOf="@+id/im_performer"
app:riv_oval="true"/> app:riv_oval="true"/>
<com.xscm.moduleutil.widget.CircularImage
android:id="@+id/ci_user_ava"
android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_60"
app:layout_constraintEnd_toEndOf="@+id/im_performer"
app:layout_constraintStart_toStartOf="@+id/im_performer"
app:layout_constraintBottom_toBottomOf="@+id/im_performer"
app:layout_constraintTop_toTopOf="@+id/im_performer"/>
<TextView <TextView
android:id="@+id/tv_performer_name" android:id="@+id/tv_performer_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"

View File

@@ -26,20 +26,7 @@
android:clipChildren="false" android:clipChildren="false"
android:clipToPadding="false"> android:clipToPadding="false">
<!-- 离线状态 - 与头像框同样大小 -->
<ImageView
android:id="@+id/iv_online"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@mipmap/room_ic_owner_offline"
android:visibility="gone"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintWidth_percent="0.88"
app:layout_constraintBottom_toBottomOf="@id/iv_frame"
app:layout_constraintEnd_toEndOf="@id/iv_frame"
app:layout_constraintStart_toStartOf="@id/iv_frame"
app:layout_constraintTop_toTopOf="@id/iv_frame"
tools:visibility="visible" />
<!-- 用户头像 --> <!-- 用户头像 -->
<com.xscm.moduleutil.widget.CircularImage <com.xscm.moduleutil.widget.CircularImage
@@ -84,6 +71,21 @@
app:loopCount="0" app:loopCount="0"
app:source="mic.svga" /> app:source="mic.svga" />
<!-- 离线状态 - 与头像框同样大小 -->
<ImageView
android:id="@+id/iv_online"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@mipmap/room_ic_owner_offline"
android:visibility="gone"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintWidth_percent="0.88"
app:layout_constraintBottom_toBottomOf="@id/iv_frame"
app:layout_constraintEnd_toEndOf="@id/iv_frame"
app:layout_constraintStart_toStartOf="@id/iv_frame"
app:layout_constraintTop_toTopOf="@id/iv_frame"
tools:visibility="visible" />
<!-- 麦克风状态 - 头像框右下角 --> <!-- 麦克风状态 - 头像框右下角 -->
<ImageView <ImageView
android:id="@+id/iv_shutup" android:id="@+id/iv_shutup"

View File

@@ -85,8 +85,8 @@ public class TUIGroupChatFragment extends TUIBaseChatFragment {
public void onClick(View v) { public void onClick(View v) {
// EventBus.getDefault().post(chatInfo); // EventBus.getDefault().post(chatInfo);
String id = chatInfo.getId().replace("g", ""); // String id = chatInfo.getId().replace("g", "");
ARouter.getInstance().build("/moduleUtil/WebViewActivity").withString("id", id).navigation(); ARouter.getInstance().build("/moduleUtil/WebViewActivity").withString("id", chatInfo.getId()).navigation();
// Map<String, Object> param = new HashMap<>(); // Map<String, Object> param = new HashMap<>();
// if (TUIChatUtils.isTopicGroup(chatInfo.getId())) { // if (TUIChatUtils.isTopicGroup(chatInfo.getId())) {