1:完成cp效果展示,

This commit is contained in:
2025-11-20 09:40:53 +08:00
parent 68dc7574bc
commit 57b8ded0eb
40 changed files with 572 additions and 217 deletions

View File

@@ -70,7 +70,6 @@ import com.xscm.modulemain.activity.main.activity.MainActivity
import com.xscm.modulemain.activity.room.contacts.RoomContacts
import com.xscm.modulemain.activity.room.fragment.ChatRoomFragment
import com.xscm.modulemain.activity.room.fragment.RedEnvelopesFragment
import com.xscm.modulemain.activity.room.fragment.RequestSongFragment
import com.xscm.modulemain.activity.room.fragment.RoomCabinFragment
import com.xscm.modulemain.activity.room.fragment.RoomChartsFragment
import com.xscm.modulemain.activity.room.fragment.RoomFragment
@@ -108,6 +107,7 @@ import com.xscm.moduleutil.bean.HeadlineBean
import com.xscm.moduleutil.bean.MqttXlhEnd
import com.xscm.moduleutil.bean.RedPacketInfo
import com.xscm.moduleutil.bean.RoomCharmRankBean
import com.xscm.moduleutil.bean.RoomGiftData
import com.xscm.moduleutil.bean.RoomInputEvent
import com.xscm.moduleutil.bean.RoomMessageEvent
import com.xscm.moduleutil.bean.RoomMessageEvent.T
@@ -122,7 +122,6 @@ import com.xscm.moduleutil.bean.room.FriendInfo.HeartList
import com.xscm.moduleutil.bean.room.FriendUserBean
import com.xscm.moduleutil.bean.room.RoomAuction
import com.xscm.moduleutil.bean.room.RoomAuction.AuctionListBean
import com.xscm.moduleutil.bean.room.RoomBean
import com.xscm.moduleutil.bean.room.RoomHourBean
import com.xscm.moduleutil.bean.room.RoomInfoResp
import com.xscm.moduleutil.bean.room.RoomOnline
@@ -1106,11 +1105,11 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
"1",
giftGiveEvent!!.getPit(),
giftGiveEvent!!.heart_id,
object : BaseObserver<String?>() {
object : BaseObserver<RoomGiftData?>() {
override fun onSubscribe(d: Disposable) {
}
override fun onNext(s: String) {
override fun onNext(s: RoomGiftData) {
showGiftGiveProgress()
}

View File

@@ -798,23 +798,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
}
}
public void isMute(int is_mute) {
RoomMessageEvent.text text = new RoomMessageEvent.text();
text.setIs_mute(is_mute);
String s = com.blankj.utilcode.util.GsonUtils.toJson(text);
RoomMessageEvent.T t = new RoomMessageEvent.T();
t.setFromUserInfo(SpUtil.getUserInfo());
t.setText(s);
RoomMessageEvent roomMessageEvent = new RoomMessageEvent(126, mRoomInfoResp.getRoom_info().getRoom_id(), t);
String json = com.blankj.utilcode.util.GsonUtils.toJson(roomMessageEvent);
// 转换为 byte[]
byte[] binaryData = json.getBytes(StandardCharsets.UTF_8);
// 创建自定义消息
MessageListenerSingleton.getInstance().sendCustomC2CMessage(
SpUtil.getUserInfo().getUser_id() + "",
binaryData
);
}
// @Subscribe(threadMode = ThreadMode.MAIN)
public void roomInfoEvent(RoomMessageEvent messageEvent) {

View File

@@ -166,7 +166,40 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
@Override
public void onClick(View v) {
MvpPre.singerSongCut(songId+"");
MvpPre.singerSongCut(songId + "");
}
});
mBinding.ciNetAva.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ClickUtils.isFastDoubleClick(v)) {
return;
}
if (roomInfoResp.getSinger_info() != null && roomInfoResp.getSinger_info().getSong_info() != null) {
if (roomInfoResp.getSinger_info().getSong_info().getBoss_user_id() != 0) {
RoomUserInfoFragment.show(roomId, roomInfoResp.getSinger_info().getSong_info().getBoss_user_id() + "", "0", getHostUser(), false, 1, isNumberWhether(), getChildFragmentManager());
} else {
com.hjq.toast.ToastUtils.show("暂无老板点歌");
}
}
}
});
mBinding.ciUserAva.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ClickUtils.isFastDoubleClick(v)) {
return;
}
if (roomInfoResp.getSinger_info() != null && roomInfoResp.getSinger_info().getSong_info() != null) {
if (roomInfoResp.getSinger_info().getSong_info().getSinger_user_id() != 0) {
RoomUserInfoFragment.show(roomId, roomInfoResp.getSinger_info().getSong_info().getSinger_user_id() + "", "0", getHostUser(), false, 1, isNumberWhether(), getChildFragmentManager());
} else {
com.hjq.toast.ToastUtils.show("暂无演唱者");
}
}
}
});
}
@@ -321,40 +354,40 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
}
adapter.setNewData(roomPitBeans);
if (roomInfoResp.getSinger_info()!=null){
if (roomInfoResp.getSinger_info().getSong_info()!=null){
if (roomInfoResp.getSinger_info() != null) {
if (roomInfoResp.getSinger_info().getSong_info() != null) {
mBinding.tvPerformerName.setVisibility(GONE);
mBinding.tvNetName.setVisibility(VISIBLE);
mBinding.ciNetAva.setVisibility(VISIBLE);
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(),mBinding.ciUserAva);
mBinding.tvSong.setText("演唱歌曲:"+roomInfoResp.getSinger_info().getSong_info().getSong_name());
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getBoss_avatar(),mBinding.ciNetAva);
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
mBinding.tvSong.setText("演唱歌曲:" + roomInfoResp.getSinger_info().getSong_info().getSong_name());
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getBoss_avatar(), mBinding.ciNetAva);
mBinding.tvNetName.setText("老板");
songId= roomInfoResp.getSinger_info().getSong_info().getSinger_song_id();
songId = roomInfoResp.getSinger_info().getSong_info().getSinger_song_id();
if (roomInfoResp.getSinger_info().getNext_song_info()!=null){
if (roomInfoResp.getSinger_info().getNext_song_info() != null) {
mBinding.guestContainer.setVisibility(View.VISIBLE);
ImageUtils.loadHead(roomInfoResp.getSinger_info().getNext_song_info().getSinger_avatar(),mBinding.ciGsAva);
ImageUtils.loadHead(roomInfoResp.getSinger_info().getNext_song_info().getSinger_avatar(), mBinding.ciGsAva);
mBinding.tvGsName.setText(roomInfoResp.getSinger_info().getNext_song_info().getSinger_nickname());
}else {
} else {
mBinding.guestContainer.setVisibility(GONE);
}
String userId= String.valueOf(roomInfoResp.getSinger_info().getSong_info().getSinger_user_id());
if(mBinding.wvZc.getUserId().equals(userId)){
String userId = String.valueOf(roomInfoResp.getSinger_info().getSong_info().getSinger_user_id());
if (mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.pitBean.setImageType(true);
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
}else {
} else {
for (RoomPitBean roomPitBean : roomPitBeans) {
if (roomPitBean.getUser_id().equals(userId)){
if (roomPitBean.getUser_id().equals(userId)) {
roomPitBean.setImageType(true);
}else {
} else {
roomPitBean.setImageType(false);
}
}
adapter.notifyDataSetChanged();
}
}else {
} else {
mBinding.tvNetName.setVisibility(GONE);
mBinding.ciNetAva.setVisibility(GONE);
}
@@ -509,9 +542,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
List<RoomPitBean> dataList = new ArrayList<>(adapter.getData());
int fromIndex = Integer.parseInt(fromPit) - 1;
int toIndex = Integer.parseInt(toPit) - 1;
if(toIndex>adapter.getData().size()-1){
UserInfo fromUserInfo=event.getText().getFromUserInfo();
pitNumber= toPit;
if (toIndex > adapter.getData().size() - 1) {
UserInfo fromUserInfo = event.getText().getFromUserInfo();
pitNumber = toPit;
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(pitNumber);
pitBean.setUser_id(fromUserInfo.getUser_id() + "");
@@ -533,7 +566,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
temp.setSex("");
temp.setCharm("");
temp.setDress("");
dataList.set(fromIndex,temp);
dataList.set(fromIndex, temp);
adapter.notifyDataSetChanged();
return;
}
@@ -576,35 +609,37 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
// TODO: 2025/11/18 下一首歌的演唱者
public void event1071(RoomMessageEvent messageEvent) {
if (messageEvent.getText().getNext_song_info()!=null){
if (messageEvent.getText().getNext_song_info() != null) {
mBinding.guestContainer.setVisibility(View.VISIBLE);
ImageUtils.loadHead(messageEvent.getText().getNext_song_info().getSinger_avatar(),mBinding.ciGsAva);
ImageUtils.loadHead(messageEvent.getText().getNext_song_info().getSinger_avatar(), mBinding.ciGsAva);
mBinding.tvGsName.setText(messageEvent.getText().getNext_song_info().getSinger_nickname());
roomInfoResp.getSinger_info().setNext_song_info(messageEvent.getText().getNext_song_info());
}
}
// TODO: 2025/11/18 当前 歌曲的演唱者
public void event1070(RoomMessageEvent messageEvent) {
if(messageEvent.getText().getSong_info()!=null){
if (messageEvent.getText().getSong_info() != null) {
mBinding.tvPerformerName.setVisibility(GONE);
mBinding.tvNetName.setVisibility(VISIBLE);
mBinding.ciNetAva.setVisibility(VISIBLE);
ImageUtils.loadHead(messageEvent.getText().getSong_info().getSinger_avatar(),mBinding.ciUserAva);
mBinding.tvSong.setText("演唱歌曲:"+messageEvent.getText().getSong_info().getSong_name());
ImageUtils.loadHead(messageEvent.getText().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
mBinding.tvSong.setText("演唱歌曲:" + messageEvent.getText().getSong_info().getSong_name());
ImageUtils.loadHead(messageEvent.getText().getSong_info().getBoss_avatar(),mBinding.ciNetAva);
roomInfoResp.getSinger_info().setSong_info(messageEvent.getText().getSong_info());
ImageUtils.loadHead(messageEvent.getText().getSong_info().getBoss_avatar(), mBinding.ciNetAva);
mBinding.tvNetName.setText("老板");
songId= messageEvent.getText().getSong_info().getSinger_song_id();
String userId= String.valueOf(messageEvent.getText().getSong_info().getSinger_user_id());
if(mBinding.wvZc.getUserId().equals(userId)){
songId = messageEvent.getText().getSong_info().getSinger_song_id();
String userId = String.valueOf(messageEvent.getText().getSong_info().getSinger_user_id());
if (mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.pitBean.setImageType(true);
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
}else {
} else {
for (RoomPitBean roomPitBean : adapter.getData()) {
if (roomPitBean.getUser_id().equals(userId)){
if (roomPitBean.getUser_id().equals(userId)) {
roomPitBean.setImageType(true);
}else {
} else {
roomPitBean.setImageType(false);
}
}

View File

@@ -589,7 +589,7 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
// 转换为 byte[]
byte[] binaryData = json.getBytes(StandardCharsets.UTF_8);
// 创建自定义消息
MessageListenerSingleton.getInstance().sendCustomC2CMessage(
MessageListenerSingleton.getInstance().sendCustomC2CMessage125(
roomInfoRespPk.getRoom_info().getPit_list().get(8).getUser_id(),
binaryData
);

View File

@@ -3,6 +3,7 @@ package com.xscm.modulemain.activity.room.presenter;
import android.content.Context;
import com.xscm.modulemain.activity.room.contacts.WheatContacts;
import com.xscm.moduleutil.bean.RoomGiftData;
import com.xscm.moduleutil.bean.room.RoomApplyListBean;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.presenter.BasePresenter;
@@ -131,7 +132,7 @@ public class WheatPresenter extends BasePresenter<WheatContacts.View> implements
@Override
public void roomGift(String room_id, String gift_id, String gift_num, String to_uid, String type, String pit_number) {
api.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number,"", new BaseObserver<String>() {
api.roomGift(room_id, gift_id, gift_num, to_uid, type, pit_number,"", new BaseObserver<RoomGiftData>() {
@Override
public void onSubscribe(Disposable d) {
@@ -139,7 +140,7 @@ public class WheatPresenter extends BasePresenter<WheatContacts.View> implements
}
@Override
public void onNext(String s) {
public void onNext(RoomGiftData s) {
if (MvpRef==null){
MvpRef=new WeakReference<>(mView);
}