public class LPOnlineUsersViewModel extends LPBaseViewModel implements OnlineUserVM
userId根据用户进教室顺序自增 每次拉取SIZE_PER_PAGE个用户,服务器会记录当前拉取的cursor(last userId) 需监听userIn、userOut实时更新本地列表,当房间人数大于100人服务器不再广播学生的userIn、userOut事件 拉取的用户列表需要与本地去重
限定符和类型 | 字段和说明 |
---|---|
static int |
SIZE_PER_PAGE |
构造器和说明 |
---|
LPOnlineUsersViewModel(LPSDKContext context,
LPGlobalViewModel globalViewModel) |
限定符和类型 | 方法和说明 |
---|---|
void |
destroy() |
boolean |
enable1v1TeacherOffStage()
1v1 是否允许老师下台
|
boolean |
enableGroupUserPublic()
是否显示分组
|
boolean |
enableMyGroupUsersPublish()
是否只显示本组用户列表
|
void |
freeAllBlockedUser()
将所有用户解禁黑名单
|
void |
freeBlockedUser(java.lang.String userNumber)
移出某个黑名单用户
|
java.util.List<IUserModel> |
getActiveUserList()
专业小班课 上台人员
|
int |
getAllCount()
获取全部人数
|
java.util.List<IUserModel> |
getBlockedUserList()
专业小班课 所有黑名单成员
|
java.util.List<LPGroupItem> |
getGroupList()
获取分组集合
|
<any> |
getGroupMap() |
io.reactivex.Observable<LPResRoomBlockedUserModel> |
getObservableOfBlockedUser()
拉黑回调
|
io.reactivex.Observable<java.util.List<IUserModel>> |
getObservableOfBlockedUserList()
获取当前所有的黑名单用户列表
|
io.reactivex.Observable<LPError> |
getObservableOfKickOut()
被请出教室监听
errorCode=1 主动踢出, errorCode=2 试听结束/教室强制关闭, errorCode=3 主讲人离开 errorCode=6 教室结束超过30min
|
io.reactivex.Observable<java.util.List<LPGroupItem>> |
getObservableOfOnGroupItem()
组信息更新
|
io.reactivex.Observable<java.util.List<IUserModel>> |
getObservableOfOnlineUser()
在线用户列表 userIn userOut信令 loadMoreUser等操作均会触发回调
|
io.reactivex.Observable<java.lang.Integer> |
getObservableOfOnLineUserCount()
人员变化,包括虚拟人数
|
io.reactivex.Observable<IUserInModel> |
getObservableOfUserIn()
用户进教室监听
|
io.reactivex.Observable<java.util.List<IUserModel>> |
getObservableOfUserMore()
loadMoreUser 的响应
更多用户列表
|
io.reactivex.Observable<IUserModel> |
getObservableOfUserOut()
用户退出监听
|
io.reactivex.Observable<LPUserModel> |
getObservableOfUserUpdate() |
java.util.List<IUserModel> |
getOnlineUserList()
获取在线用户成员
|
java.util.List<IUserModel> |
getPrivateUser()
获取私聊用户
|
io.reactivex.Observable<LPResRoomUserInModel> |
getPublishSubjectOfActiveUserAdd() |
io.reactivex.Observable<LPResRoomUserInModel> |
getPublishSubjectOfActiveUserAddDeny() |
io.reactivex.Observable<LPResRoomUserInModel> |
getPublishSubjectOfActiveUserRemove() |
java.util.Set<LPUserModel> |
getStudentList()
专业小班课 学生
|
java.util.List<IUserModel> |
getUnActiveUserList()
专业小班课 下台人员
|
IUserModel |
getUser(int position)
adapter绑定
|
IUserModel |
getUserById(java.lang.String userId)
通过userId获取UserModel
|
IUserModel |
getUserByNumber(java.lang.String userNumber) |
int |
getUserCount()
adapter绑定
|
boolean |
isActiveUser(IUserModel userModel) |
void |
loadMoreUser()
获取更多用户
|
void |
loadMoreUser(int groupId)
获取指定分组更多在线用户
|
void |
requestAddActiveUser(IUserModel userModel) |
void |
requestGroupInfoReq()
获取分组信息
|
void |
requestKickOutUser(java.lang.String userId)
踢出指定人员
|
void |
requestKickOutUser(java.lang.String userId,
boolean isBlock) |
void |
requestRemoveActiveUser(IUserModel userModel) |
void |
updateMediaState()
更新自身音视频状态,发送默认状态
|
void |
updateMediaState(LPConstants.MediaState audioState,
LPConstants.MediaState videoState)
更新自身音视频状态
|
void |
updateReplacedNumber(java.lang.String replacedNumber)
更新自身user_number_replace_me
对应外接设备user_number
|
correspondingEvents, lifecycle, peekLifecycle, requestScope
public LPOnlineUsersViewModel(LPSDKContext context, LPGlobalViewModel globalViewModel)
public void destroy()
destroy
在接口中 OnlineUserVM
destroy
在类中 LPBaseViewModel
public io.reactivex.Observable<LPResRoomUserInModel> getPublishSubjectOfActiveUserAdd()
getPublishSubjectOfActiveUserAdd
在接口中 OnlineUserVM
public void requestAddActiveUser(IUserModel userModel)
requestAddActiveUser
在接口中 OnlineUserVM
public io.reactivex.Observable<LPResRoomUserInModel> getPublishSubjectOfActiveUserRemove()
public void requestRemoveActiveUser(IUserModel userModel)
requestRemoveActiveUser
在接口中 OnlineUserVM
public io.reactivex.Observable<LPResRoomUserInModel> getPublishSubjectOfActiveUserAddDeny()
public io.reactivex.Observable<java.util.List<IUserModel>> getObservableOfBlockedUserList()
OnlineUserVM
getObservableOfBlockedUserList
在接口中 OnlineUserVM
public boolean isActiveUser(IUserModel userModel)
isActiveUser
在接口中 OnlineUserVM
public java.util.List<IUserModel> getActiveUserList()
OnlineUserVM
getActiveUserList
在接口中 OnlineUserVM
public java.util.List<IUserModel> getUnActiveUserList()
OnlineUserVM
getUnActiveUserList
在接口中 OnlineUserVM
public java.util.List<IUserModel> getBlockedUserList()
OnlineUserVM
getBlockedUserList
在接口中 OnlineUserVM
public java.util.List<IUserModel> getOnlineUserList()
OnlineUserVM
getOnlineUserList
在接口中 OnlineUserVM
public java.util.Set<LPUserModel> getStudentList()
OnlineUserVM
getStudentList
在接口中 OnlineUserVM
public void loadMoreUser()
loadMoreUser
在接口中 OnlineUserVM
public void loadMoreUser(int groupId)
OnlineUserVM
loadMoreUser
在接口中 OnlineUserVM
groupId
- 分组IDpublic io.reactivex.Observable<java.util.List<LPGroupItem>> getObservableOfOnGroupItem()
OnlineUserVM
getObservableOfOnGroupItem
在接口中 OnlineUserVM
public java.util.List<LPGroupItem> getGroupList()
OnlineUserVM
getGroupList
在接口中 OnlineUserVM
public <any> getGroupMap()
getGroupMap
在接口中 OnlineUserVM
public io.reactivex.Observable<java.util.List<IUserModel>> getObservableOfOnlineUser()
OnlineUserVM
getObservableOfOnlineUser
在接口中 OnlineUserVM
public io.reactivex.Observable<LPResRoomBlockedUserModel> getObservableOfBlockedUser()
getObservableOfBlockedUser
在接口中 OnlineUserVM
public io.reactivex.Observable<java.lang.Integer> getObservableOfOnLineUserCount()
OnlineUserVM
getObservableOfOnLineUserCount
在接口中 OnlineUserVM
public int getUserCount()
OnlineUserVM
getUserCount
在接口中 OnlineUserVM
public IUserModel getUser(int position)
OnlineUserVM
getUser
在接口中 OnlineUserVM
public IUserModel getUserById(java.lang.String userId)
OnlineUserVM
getUserById
在接口中 OnlineUserVM
public IUserModel getUserByNumber(java.lang.String userNumber)
getUserByNumber
在接口中 OnlineUserVM
public int getAllCount()
OnlineUserVM
getAllCount
在接口中 OnlineUserVM
public void requestGroupInfoReq()
OnlineUserVM
requestGroupInfoReq
在接口中 OnlineUserVM
public java.util.List<IUserModel> getPrivateUser()
OnlineUserVM
getPrivateUser
在接口中 OnlineUserVM
public boolean enableGroupUserPublic()
OnlineUserVM
enableGroupUserPublic
在接口中 OnlineUserVM
public boolean enableMyGroupUsersPublish()
OnlineUserVM
enableMyGroupUsersPublish
在接口中 OnlineUserVM
public io.reactivex.Observable<IUserInModel> getObservableOfUserIn()
getObservableOfUserIn
在接口中 OnlineUserVM
public io.reactivex.Observable<IUserModel> getObservableOfUserOut()
OnlineUserVM
getObservableOfUserOut
在接口中 OnlineUserVM
public io.reactivex.Observable<LPUserModel> getObservableOfUserUpdate()
getObservableOfUserUpdate
在接口中 OnlineUserVM
public io.reactivex.Observable<java.util.List<IUserModel>> getObservableOfUserMore()
OnlineUserVM
getObservableOfUserMore
在接口中 OnlineUserVM
public void updateMediaState()
OnlineUserVM
updateMediaState
在接口中 OnlineUserVM
public void updateMediaState(LPConstants.MediaState audioState, LPConstants.MediaState videoState)
OnlineUserVM
updateMediaState
在接口中 OnlineUserVM
public void updateReplacedNumber(java.lang.String replacedNumber)
OnlineUserVM
updateReplacedNumber
在接口中 OnlineUserVM
public void freeBlockedUser(java.lang.String userNumber)
OnlineUserVM
freeBlockedUser
在接口中 OnlineUserVM
public void freeAllBlockedUser()
OnlineUserVM
freeAllBlockedUser
在接口中 OnlineUserVM
public boolean enable1v1TeacherOffStage()
OnlineUserVM
enable1v1TeacherOffStage
在接口中 OnlineUserVM
public io.reactivex.Observable<LPError> getObservableOfKickOut()
getObservableOfKickOut
在接口中 OnlineUserVM
public void requestKickOutUser(java.lang.String userId)
requestKickOutUser
在接口中 OnlineUserVM
userId
- public void requestKickOutUser(java.lang.String userId, boolean isBlock)
requestKickOutUser
在接口中 OnlineUserVM
userId
- isBlock
- 是否拉黑