feat:完成房间部分UI改版:标题栏新增头像、新增在线列表展示、去掉游戏房小麦位、调整小时榜、房间榜、音乐入口的UI位置

This commit is contained in:
max
2024-05-20 17:42:33 +08:00
parent 21f0a84904
commit 21d982246c
23 changed files with 590 additions and 176 deletions

View File

@@ -674,7 +674,7 @@ public final class IMNetEaseManager {
if (ListUtils.isListEmpty(targets)) {
return;
}
chatRoomMemberExit(targets.get(0));
chatRoomMemberExit(targets.get(0), msg);
SuperAdminDataMrg.get().handleMemberOutRoom(targets.get(0));
} else if (attachment.getType() == NotificationType.ChatRoomManagerAdd) {
@@ -1629,7 +1629,7 @@ public final class IMNetEaseManager {
private void chatRoomMemberIn(final String account, ChatRoomMessage msg) {
List<String> list = new ArrayList<>(1);
list.add(account);
noticeRoomMemberChange(true, account);
noticeRoomMemberChange(true, account, msg);
ChatRoomMessageExtension messageExtension = msg.getChatRoomMessageExtension();
ChatRoomMember chatRoomMember = new ChatRoomMember();
Map<String, Object> extensionMap = null;
@@ -1721,8 +1721,8 @@ public final class IMNetEaseManager {
/**
* 退出房間處理
*/
private void chatRoomMemberExit(String account) {
noticeRoomMemberChange(false, account);
private void chatRoomMemberExit(String account, ChatRoomMessage message) {
noticeRoomMemberChange(false, account, message);
RoomInfo mCurrentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
if (mCurrentRoomInfo == null) return;
@@ -3328,9 +3328,10 @@ public final class IMNetEaseManager {
.setRoomQueueInfo(roomQueueInfo));
}
private void noticeRoomMemberChange(boolean isMemberIn, String account) {
private void noticeRoomMemberChange(boolean isMemberIn, String account, ChatRoomMessage msg) {
getChatRoomEventObservable().onNext(new RoomEvent()
.setAccount(account)
.setChatRoomMessage(msg)
.setEvent(isMemberIn ? RoomEvent.ROOM_MEMBER_IN : RoomEvent.ROOM_MEMBER_EXIT));
}

View File

@@ -40,8 +40,6 @@ import retrofit2.http.Query;
*/
public class HomePartyUserListModel extends RoomBaseModel implements IHomePartyUserListModel {
private HomePartyUserListModel.Api api = RxNet.create(HomePartyUserListModel.Api.class);
/**
* 分页获取房间成员第一页包含队列成员固定成员游客50人之后每一页获取游客50人
*
@@ -227,21 +225,4 @@ public class HomePartyUserListModel extends RoomBaseModel implements IHomePartyU
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public Single<List<RoomOnlineUserBean>> getRoomOnlineList(long roomUid) {
return api.getRoomOnlineList(roomUid)
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers());
}
private interface Api {
/**
* 房间在线列表
* @return
*/
@GET("/room/v2/online")
Single<ServiceResult<List<RoomOnlineUserBean>>> getRoomOnlineList(@Query("roomUid") long roomUid);
}
}

View File

@@ -6,6 +6,7 @@ import android.util.SparseArray;
import com.alibaba.fastjson.JSONObject;
import com.chwl.core.room.bean.RoomIcon;
import com.chwl.core.room.bean.RoomOnlineUserBean;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
@@ -797,6 +798,12 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel {
.compose(RxHelper.singleMainResult());
}
public Single<List<RoomOnlineUserBean>> getRoomOnlineList(long roomUid) {
return mRoomService.getRoomOnlineList(roomUid)
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers());
}
public interface Api {
/**
@@ -1217,6 +1224,12 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel {
@GET("/resource/gamePlay")
Single<ServiceResult<List<RoomIcon>>> getRoomGamePlay(@Query("roomUid") long roomUid);
/**
* 房间在线列表
* @return
*/
@GET("/room/v2/online")
Single<ServiceResult<List<RoomOnlineUserBean>>> getRoomOnlineList(@Query("roomUid") long roomUid);
}
}

View File

@@ -24,6 +24,7 @@ abstract class FrameLayoutRoomWidget : FrameLayout, RoomWidget {
protected val widgetScope = MainScope()
protected var roomView: RoomView? = null
protected var roomContext: RoomContext? = null
// 当前房间UID
private var roomId: Long? = null
@@ -78,7 +79,9 @@ abstract class FrameLayoutRoomWidget : FrameLayout, RoomWidget {
/**
* 绑定房间上下文:建立数据连接
*/
open fun onBindContext(roomContext: RoomContext) {}
open fun onBindContext(roomContext: RoomContext) {
this.roomContext = roomContext
}
/**
* 解绑上下文重置View状态
@@ -91,6 +94,7 @@ abstract class FrameLayoutRoomWidget : FrameLayout, RoomWidget {
} catch (e: Exception) {
e.printStackTrace()
}
this.roomContext = null
}
/**