public class LPChatViewModel extends LPBaseViewModel implements ChatVM
构造器和说明 |
---|
LPChatViewModel(LPSDKContext context) |
限定符和类型 | 方法和说明 |
---|---|
boolean |
canWisperTeacherInForbidAllMode() |
void |
connectChatServer() |
void |
destroy() |
boolean |
enableUserAtUser()
是否支持 at
|
LPError |
forbidChat(IUserModel forbidUser,
long duration)
单个禁言 (仅老师助教有权限)
|
java.util.List<IExpressionModel> |
getExpressions() |
boolean |
getForbidAllChatStatus()
是否全体禁言
|
boolean |
getForbidStatus(LPConstants.LPForbidChatType type)
主动获取禁言状态
|
IMessageModel |
getMessage(int index)
获取消息池内消息,用于绑定adapter
|
int |
getMessageCount()
获取消息池内消息数量,用于绑定adapter
|
java.util.List<IMessageModel> |
getMessageList()
获取总消息
|
io.reactivex.Observable<java.util.List<java.lang.String>> |
getObservableOfChatQuickReplyList()
获取聊天快捷回复词条列表
|
io.reactivex.Observable<LPRoomForbidChatResult> |
getObservableOfForbidAllChatStatus()
全体禁言回调
|
io.reactivex.Observable<IForbidChatModel> |
getObservableOfForbidChat()
禁言回调 (包含其他学生被禁言)
|
io.reactivex.Observable<LPResRoomForbidListModel> |
getObservableOfForbidList()
禁言学员回调
|
io.reactivex.Observable<java.lang.Boolean> |
getObservableOfIsSelfChatForbid()
自己禁言状态
|
io.reactivex.Observable<LPMessageRevoke> |
getObservableOfMsgRevoke()
聊天撤回响应
|
io.reactivex.Observable<java.util.List<IMessageModel>> |
getObservableOfMsgStickyList()
聊天置顶响应
|
io.reactivex.Flowable<java.util.List<IMessageModel>> |
getObservableOfNotifyDataChange()
消息池改变,用于绑定adapter
|
io.reactivex.Flowable<IMessageModel> |
getObservableOfReceiveMessage()
收到消息
|
io.reactivex.Observable<LPMessageTranslateModel> |
getObservableOfReceiveTranslateMessage()
翻译回调
|
io.reactivex.Observable<LPWhisperListModel> |
getObservableOfWhisperList()
私聊消息回调
|
int |
getStudentPrivateChatRole()
获取学生私聊权限
0,全部 1,老师 2助教
|
boolean |
isForbiddenByTeacher()
是否被禁言
|
boolean |
isLiveCanWhisper() |
io.reactivex.Observable<java.lang.Boolean> |
reportMessage(java.util.List<java.lang.String> reportReason,
IMessageModel messageModel)
聊天举报
|
void |
requestForbidAllChat(boolean forbidAllChat)
全体禁言 (仅老师助教有权限)
|
void |
requestForbidList()
请求禁言学员信息
|
void |
requestMsgRevoke(java.lang.String msgId,
java.lang.String fromId)
聊天撤回
|
void |
requestMsgStickyList(java.util.List<IMessageModel> messages)
聊天置顶
|
void |
requestWhisperList(java.lang.String to,
int page)
拉取私聊消息
|
void |
sendEmojiMessage(java.lang.String emoji)
发送表情消息
|
void |
sendEmojiMessage(java.lang.String emoji,
LPMessageReferenceModel referenceModel)
发送表情消息,带引用
|
void |
sendEmojiMessage(java.lang.String emoji,
LPMessageReferenceModel referenceModel,
java.util.Set<LPMessageAtUserModel> atUserList)
发送表情消息,带引用,带@
|
void |
sendEmojiMessage(java.lang.String emoji,
java.util.Set<LPMessageAtUserModel> atUserList)
发送表情消息,带@
|
void |
sendEmojiMessageToUser(IUserModel toUser,
java.lang.String emoji)
发送表情消息 —— 私聊
|
void |
sendEmojiMessageToUserInternal(IUserModel toUser,
java.lang.String emoji,
LPMessageReferenceModel referenceModel,
java.util.Set<LPMessageAtUserModel> atUserList) |
void |
sendImageMessage(java.lang.String message,
int width,
int height)
发送图片消息
|
void |
sendImageMessage(java.lang.String message,
int width,
int height,
LPMessageReferenceModel referenceModel)
发送图片消息,带引用
|
void |
sendImageMessage(java.lang.String message,
int width,
int height,
LPMessageReferenceModel referenceModel,
java.util.Set<LPMessageAtUserModel> atUserList)
发送图片消息,带引用,带@
|
void |
sendImageMessage(java.lang.String message,
int width,
int height,
java.util.Set<LPMessageAtUserModel> atUserList)
发送图片消息,带@
|
void |
sendImageMessageToUser(IUserModel toUser,
java.lang.String message,
int width,
int height)
发送图片消息 —— 私聊
|
void |
sendImageMessageToUserInternal(IUserModel toUser,
java.lang.String message,
int width,
int height,
LPMessageReferenceModel referenceModel,
java.util.Set<LPMessageAtUserModel> atUserList) |
void |
sendMessage(java.lang.String message)
发送文字消息
|
void |
sendMessage(java.lang.String message,
LPMessageDataModel reward)
发送打赏消息
|
void |
sendMessage(java.lang.String message,
LPMessageReferenceModel referenceModel)
发送文字消息,带引用
|
void |
sendMessage(java.lang.String message,
LPMessageReferenceModel referenceModel,
java.util.Set<LPMessageAtUserModel> atUserList)
发送文字消息,带引用,带@
|
void |
sendMessage(java.lang.String message,
java.util.Set<LPMessageAtUserModel> atUserList)
发送文字消息,带@
|
void |
sendMessage(java.lang.String message,
java.lang.String channel)
发送带channel的文字消息
|
void |
sendMessage(java.lang.String message,
java.lang.String channel,
LPMessageReferenceModel referenceModel)
发送带channel的文字消息,带引用
|
void |
sendMessage(java.lang.String message,
java.lang.String channel,
LPMessageReferenceModel referenceModel,
java.util.Set<LPMessageAtUserModel> atUserList)
发送带channel的文字消息,带引用
|
void |
sendMessage(java.lang.String message,
java.lang.String channel,
java.util.Set<LPMessageAtUserModel> atUserList)
发送带channel的文字消息,带@
|
void |
sendMessageToUser(IUserModel toUser,
java.lang.String message)
发送文字消息 —— 私聊
|
void |
sendMessageToUser(IUserModel toUser,
java.lang.String message,
java.lang.String channel)
发送带channel的文字消息
|
void |
sendTranslateMessage(java.lang.String message,
java.lang.String messageId,
java.lang.String classId,
java.lang.String userId,
java.lang.String fromLanguage,
java.lang.String toLanguage)
发送翻译请求
|
void |
setMessagePoolSize(int size)
getObservableOfReceiveMessage
设置显示消息池大小,默认500条
|
void |
uploadImageWithProgress(java.lang.String imagePath,
java.lang.Object tag,
com.baijiahulian.common.networkv2.BJProgressCallback callback) |
boolean |
useSecretMsgSendForbid() |
correspondingEvents, lifecycle, peekLifecycle, requestScope
public LPChatViewModel(LPSDKContext context)
public void connectChatServer()
public void sendMessage(java.lang.String message)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, LPMessageReferenceModel referenceModel)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, LPMessageReferenceModel referenceModel, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendMessage
在接口中 ChatVM
public void sendImageMessage(java.lang.String message, int width, int height)
ChatVM
sendImageMessage
在接口中 ChatVM
public void sendImageMessage(java.lang.String message, int width, int height, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendImageMessage
在接口中 ChatVM
public void sendImageMessage(java.lang.String message, int width, int height, LPMessageReferenceModel referenceModel)
ChatVM
sendImageMessage
在接口中 ChatVM
public void sendImageMessage(java.lang.String message, int width, int height, LPMessageReferenceModel referenceModel, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendImageMessage
在接口中 ChatVM
public void sendEmojiMessage(java.lang.String emoji)
ChatVM
sendEmojiMessage
在接口中 ChatVM
public void sendEmojiMessage(java.lang.String emoji, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendEmojiMessage
在接口中 ChatVM
public void sendEmojiMessage(java.lang.String emoji, LPMessageReferenceModel referenceModel)
ChatVM
sendEmojiMessage
在接口中 ChatVM
public void sendEmojiMessage(java.lang.String emoji, LPMessageReferenceModel referenceModel, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendEmojiMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, java.lang.String channel)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, java.lang.String channel, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, java.lang.String channel, LPMessageReferenceModel referenceModel)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, java.lang.String channel, LPMessageReferenceModel referenceModel, java.util.Set<LPMessageAtUserModel> atUserList)
ChatVM
sendMessage
在接口中 ChatVM
public void sendMessage(java.lang.String message, LPMessageDataModel reward)
ChatVM
sendMessage
在接口中 ChatVM
message
- 构建web端消息reward
- datapublic boolean isForbiddenByTeacher()
public boolean canWisperTeacherInForbidAllMode()
public boolean useSecretMsgSendForbid()
public void sendMessageToUser(IUserModel toUser, java.lang.String message)
ChatVM
sendMessageToUser
在接口中 ChatVM
public void sendImageMessageToUser(IUserModel toUser, java.lang.String message, int width, int height)
ChatVM
sendImageMessageToUser
在接口中 ChatVM
public void sendImageMessageToUserInternal(IUserModel toUser, java.lang.String message, int width, int height, LPMessageReferenceModel referenceModel, java.util.Set<LPMessageAtUserModel> atUserList)
public void sendEmojiMessageToUser(IUserModel toUser, java.lang.String emoji)
ChatVM
sendEmojiMessageToUser
在接口中 ChatVM
public void sendEmojiMessageToUserInternal(IUserModel toUser, java.lang.String emoji, LPMessageReferenceModel referenceModel, java.util.Set<LPMessageAtUserModel> atUserList)
public void sendMessageToUser(IUserModel toUser, java.lang.String message, java.lang.String channel)
ChatVM
sendMessageToUser
在接口中 ChatVM
public io.reactivex.Flowable<IMessageModel> getObservableOfReceiveMessage()
ChatVM
getObservableOfReceiveMessage
在接口中 ChatVM
public void setMessagePoolSize(int size)
ChatVM
setMessagePoolSize
在接口中 ChatVM
public void sendTranslateMessage(java.lang.String message, java.lang.String messageId, java.lang.String classId, java.lang.String userId, java.lang.String fromLanguage, java.lang.String toLanguage)
ChatVM
sendTranslateMessage
在接口中 ChatVM
message
- 要翻译的消息messageId
- 消息idclassId
- 房间iduserId
- 自己的idfromLanguage
- 消息的语言{"zh","en"}toLanguage
- 翻译后的语言{"zh","en"}public io.reactivex.Observable<LPMessageTranslateModel> getObservableOfReceiveTranslateMessage()
ChatVM
getObservableOfReceiveTranslateMessage
在接口中 ChatVM
public java.util.List<IMessageModel> getMessageList()
getMessageList
在接口中 ChatVM
public int getMessageCount()
ChatVM
getMessageCount
在接口中 ChatVM
public IMessageModel getMessage(int index)
ChatVM
getMessage
在接口中 ChatVM
public io.reactivex.Flowable<java.util.List<IMessageModel>> getObservableOfNotifyDataChange()
ChatVM
getObservableOfNotifyDataChange
在接口中 ChatVM
public java.util.List<IExpressionModel> getExpressions()
getExpressions
在接口中 ChatVM
public boolean isLiveCanWhisper()
isLiveCanWhisper
在接口中 ChatVM
public void destroy()
destroy
在接口中 ChatVM
destroy
在类中 LPBaseViewModel
public void requestMsgRevoke(java.lang.String msgId, java.lang.String fromId)
ChatVM
requestMsgRevoke
在接口中 ChatVM
public io.reactivex.Observable<LPMessageRevoke> getObservableOfMsgRevoke()
ChatVM
getObservableOfMsgRevoke
在接口中 ChatVM
public void requestMsgStickyList(java.util.List<IMessageModel> messages)
ChatVM
requestMsgStickyList
在接口中 ChatVM
messages
- 要置顶的消息,为null时取消置顶public io.reactivex.Observable<java.util.List<IMessageModel>> getObservableOfMsgStickyList()
ChatVM
getObservableOfMsgStickyList
在接口中 ChatVM
public void uploadImageWithProgress(java.lang.String imagePath, java.lang.Object tag, com.baijiahulian.common.networkv2.BJProgressCallback callback)
uploadImageWithProgress
在接口中 ChatVM
public int getStudentPrivateChatRole()
ChatVM
getStudentPrivateChatRole
在接口中 ChatVM
public void requestWhisperList(java.lang.String to, int page)
ChatVM
requestWhisperList
在接口中 ChatVM
public io.reactivex.Observable<LPWhisperListModel> getObservableOfWhisperList()
ChatVM
getObservableOfWhisperList
在接口中 ChatVM
public io.reactivex.Observable<java.lang.Boolean> reportMessage(java.util.List<java.lang.String> reportReason, IMessageModel messageModel)
ChatVM
reportMessage
在接口中 ChatVM
public io.reactivex.Observable<java.util.List<java.lang.String>> getObservableOfChatQuickReplyList()
ChatVM
getObservableOfChatQuickReplyList
在接口中 ChatVM
public boolean enableUserAtUser()
ChatVM
enableUserAtUser
在接口中 ChatVM
public LPError forbidChat(IUserModel forbidUser, long duration)
forbidChat
在接口中 ChatVM
forbidUser
- duration
- public void requestForbidAllChat(boolean forbidAllChat)
requestForbidAllChat
在接口中 ChatVM
forbidAllChat
- public void requestForbidList()
requestForbidList
在接口中 ChatVM
public boolean getForbidStatus(LPConstants.LPForbidChatType type)
getForbidStatus
在接口中 ChatVM
type
- 禁言类型
LPConstants.LPForbidChatType.TYPE_ALL 全部小组是否设置禁言(大班老师/组教设置)
LPConstants.LPForbidChatType.TYPE_GROUP 当前小组是否设置禁言(小组老师/组教设置)public io.reactivex.Observable<IForbidChatModel> getObservableOfForbidChat()
getObservableOfForbidChat
在接口中 ChatVM
public io.reactivex.Observable<LPRoomForbidChatResult> getObservableOfForbidAllChatStatus()
getObservableOfForbidAllChatStatus
在接口中 ChatVM
public io.reactivex.Observable<java.lang.Boolean> getObservableOfIsSelfChatForbid()
getObservableOfIsSelfChatForbid
在接口中 ChatVM
public io.reactivex.Observable<LPResRoomForbidListModel> getObservableOfForbidList()
getObservableOfForbidList
在接口中 ChatVM
public boolean getForbidAllChatStatus()
getForbidAllChatStatus
在接口中 ChatVM