-
public final class ChatClientThe ChatClient is the main entry point for all low-level operations on chat
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public final classChatClient.Builderpublic classChatClient.Companion
-
Field Summary
Fields Modifier and Type Field Description private final ChatNotificationHandlernotificationHandlerprivate final List<Function1<User, Unit>>disconnectListenersprivate final List<Function1<User, Unit>>preSetUserListenersprivate final ChatClientConfigconfig
-
Method Summary
Modifier and Type Method Description final UnitsetUser(User user, String token, InitConnectionListener listener)Initializes ChatClient for a specific user using the given user token. final UnitsetUser(User user, TokenProvider tokenProvider, InitConnectionListener listener)Initializes ChatClient for a specific user. final UnitsetAnonymousUser(InitConnectionListener listener)final UnitsetGuestUser(String userId, String username, InitConnectionListener listener)final Call<GuestUser>getGuestToken(String userId, String userName)final UnitsendFile(String channelType, String channelId, File file, ProgressCallback callback)final Call<String>sendFile(String channelType, String channelId, File file)final UnitsendImage(String channelType, String channelId, File file, ProgressCallback callback)final Call<String>sendImage(String channelType, String channelId, File file)final Call<List<Member>>queryMembers(String channelType, String channelId, Integer offset, Integer limit, FilterObject filter, QuerySort<Member> sort, List<Member> members)final Call<Unit>deleteFile(String channelType, String channelId, String url)final Call<Unit>deleteImage(String channelType, String channelId, String url)final Call<List<Reaction>>getReactions(String messageId, Integer offset, Integer limit)final Call<Reaction>sendReaction(String messageId, String reactionType)final Call<Reaction>sendReaction(Reaction reaction)final Call<Message>deleteReaction(String messageId, String reactionType)final UnitdisconnectSocket()final UnitreconnectSocket()final UnitaddSocketListener(SocketListener listener)final UnitremoveSocketListener(SocketListener listener)final ChatObservableevents()final Disposablesubscribe(Function1<ChatEvent, Unit> listener)final DisposablesubscribeFor(String eventTypes, Function1<ChatEvent, Unit> listener)Subscribes to the specific eventTypes of the client. final DisposablesubscribeFor(LifecycleOwner lifecycleOwner, String eventTypes, Function1<ChatEvent, Unit> listener)Subscribes to the specific eventTypes of the client, in the lifecycle of lifecycleOwner. final DisposablesubscribeFor(Class<out ChatEvent> eventTypes, Function1<ChatEvent, Unit> listener)Subscribes to the specific eventTypes of the client. final DisposablesubscribeFor(LifecycleOwner lifecycleOwner, Class<out ChatEvent> eventTypes, Function1<ChatEvent, Unit> listener)Subscribes to the specific eventTypes of the client, in the lifecycle of lifecycleOwner. final DisposablesubscribeForSingle(String eventType, Function1<ChatEvent, Unit> listener)Subscribes for the next event with the given eventType. final <T extends ChatEvent> DisposablesubscribeForSingle(Class<T> eventType, Function1<T, Unit> listener)Subscribes for the next event with the given eventType. final Unitdisconnect()final Call<List<Device>>getDevices()final Call<Unit>deleteDevice(String deviceId)final Call<Unit>addDevice(String deviceId)final Call<List<Message>>searchMessages(SearchMessagesRequest request)final Call<List<AttachmentWithDate>>getFileAttachments(String channelType, String channelId, Integer offset, Integer limit)final Call<List<AttachmentWithDate>>getImageAttachments(String channelType, String channelId, Integer offset, Integer limit)final Call<List<Message>>getReplies(String messageId, Integer limit)final Call<List<Message>>getRepliesMore(String messageId, String firstId, Integer limit)final Call<Message>sendAction(SendActionRequest request)final Call<Message>deleteMessage(String messageId)final Call<Message>getMessage(String messageId)final Call<Message>sendMessage(String channelType, String channelId, Message message)final Call<Message>updateMessage(Message message)final Call<Channel>queryChannel(String channelType, String channelId, QueryChannelRequest request)final Call<List<Channel>>queryChannels(QueryChannelsRequest request)final Call<Channel>deleteChannel(String channelType, String channelId)final Call<Unit>markMessageRead(String channelType, String channelId, String messageId)final Call<Unit>showChannel(String channelType, String channelId)final Call<Unit>hideChannel(String channelType, String channelId, Boolean clearHistory)final Call<Unit>stopWatching(String channelType, String channelId)final Call<Channel>updateChannel(String channelType, String channelId, Message updateMessage, Map<String, Object> channelExtraData)final Call<Channel>enableSlowMode(String channelType, String channelId, Integer cooldownTimeInSeconds)final Call<Channel>disableSlowMode(String channelType, String channelId)final Call<Channel>rejectInvite(String channelType, String channelId)final Call<ChatEvent>sendEvent(String eventType, String channelType, String channelId, Map<Object, Object> extraData)final StringgetVersion()final Call<Channel>acceptInvite(String channelType, String channelId, String message)final Call<Unit>markAllRead()final Call<Unit>markRead(String channelType, String channelId)final Call<List<User>>updateUsers(List<User> users)final Call<User>updateUser(User user)final Call<List<User>>queryUsers(QueryUsersRequest query)final Call<Channel>addMembers(String channelType, String channelId, List<String> members)final Call<Channel>removeMembers(String channelType, String channelId, List<String> members)final Call<Mute>muteUser(String userId)final Call<Unit>muteChannel(String channelType, String channelId)final Call<Unit>unMuteChannel(String channelType, String channelId)final Call<Mute>unmuteUser(String userId)final Call<Mute>unmuteCurrentUser()final Call<Mute>muteCurrentUser()final Call<Flag>flag(String userId)final Call<Flag>flagUser(String userId)final Call<Flag>flagMessage(String messageId)final Call<Message>translate(String messageId, String language)final Call<Unit>banUser(String targetId, String channelType, String channelId, String reason, Integer timeout)final Call<Unit>unBanUser(String targetId, String channelType, String channelId)final Call<Unit>shadowBanUser(String targetId, String channelType, String channelId, String reason, Integer timeout)final Call<Unit>removeShadowBan(String targetId, String channelType, String channelId)final UnitonMessageReceived(RemoteMessage remoteMessage)final UnitonNewTokenReceived(String token)final StringgetConnectionId()final UsergetCurrentUser()final StringgetCurrentToken()final BooleanisSocketConnected()final ChannelClientchannel(String channelType, String channelId)Returns a ChannelClient for given type and id final ChannelClientchannel(String cid)Returns a ChannelClient for given cid final Call<Channel>createChannel(String channelType, String channelId, Map<String, Object> extraData)final Call<Channel>createChannel(String channelType, String channelId, List<String> members)final Call<Channel>createChannel(String channelType, List<String> members)final Call<Channel>createChannel(String channelType, List<String> members, Map<String, Object> extraData)final Call<Channel>createChannel(String channelType, String channelId, List<String> members, Map<String, Object> extraData)final Call<List<ChatEvent>>getSyncHistory(List<String> channelsIds, Date lastSyncAt)final ChatNotificationHandlergetNotificationHandler()final List<Function1<User, Unit>>getDisconnectListeners()final List<Function1<User, Unit>>getPreSetUserListeners()final ChatClientConfiggetConfig()-
-
Method Detail
-
setUser
final Unit setUser(User user, String token, InitConnectionListener listener)
Initializes ChatClient for a specific user using the given user token.
-
setUser
final Unit setUser(User user, TokenProvider tokenProvider, InitConnectionListener listener)
Initializes ChatClient for a specific user. The tokenProvider implementation is used for the initial token, and it's also invoked whenever the user's token has expired, to fetch a new token.
This method performs required operations before connecting with the Stream API. Moreover, it warms up the connection, sets up notifications, and connects to the socket. You can use listener to get updates about socket connection.
- Parameters:
user- the user to settokenProvider- a TokenProvider implementationlistener- socket connection listener
-
setAnonymousUser
final Unit setAnonymousUser(InitConnectionListener listener)
-
setGuestUser
final Unit setGuestUser(String userId, String username, InitConnectionListener listener)
-
getGuestToken
final Call<GuestUser> getGuestToken(String userId, String userName)
-
sendFile
final Unit sendFile(String channelType, String channelId, File file, ProgressCallback callback)
-
sendImage
final Unit sendImage(String channelType, String channelId, File file, ProgressCallback callback)
-
queryMembers
final Call<List<Member>> queryMembers(String channelType, String channelId, Integer offset, Integer limit, FilterObject filter, QuerySort<Member> sort, List<Member> members)
-
deleteFile
final Call<Unit> deleteFile(String channelType, String channelId, String url)
-
deleteImage
final Call<Unit> deleteImage(String channelType, String channelId, String url)
-
getReactions
final Call<List<Reaction>> getReactions(String messageId, Integer offset, Integer limit)
-
sendReaction
final Call<Reaction> sendReaction(String messageId, String reactionType)
-
sendReaction
final Call<Reaction> sendReaction(Reaction reaction)
-
deleteReaction
final Call<Message> deleteReaction(String messageId, String reactionType)
-
disconnectSocket
final Unit disconnectSocket()
-
reconnectSocket
final Unit reconnectSocket()
-
addSocketListener
final Unit addSocketListener(SocketListener listener)
-
removeSocketListener
final Unit removeSocketListener(SocketListener listener)
-
events
@Deprecated(message = "Use subscribe() on the client directly instead", level = DeprecationLevel.WARNING) final ChatObservable events()
-
subscribe
final Disposable subscribe(Function1<ChatEvent, Unit> listener)
-
subscribeFor
final Disposable subscribeFor(String eventTypes, Function1<ChatEvent, Unit> listener)
Subscribes to the specific eventTypes of the client.
-
subscribeFor
final Disposable subscribeFor(LifecycleOwner lifecycleOwner, String eventTypes, Function1<ChatEvent, Unit> listener)
Subscribes to the specific eventTypes of the client, in the lifecycle of lifecycleOwner.
Only receives events when the lifecycle is in a STARTED state, otherwise events are dropped.
-
subscribeFor
final Disposable subscribeFor(Class<out ChatEvent> eventTypes, Function1<ChatEvent, Unit> listener)
Subscribes to the specific eventTypes of the client.
-
subscribeFor
final Disposable subscribeFor(LifecycleOwner lifecycleOwner, Class<out ChatEvent> eventTypes, Function1<ChatEvent, Unit> listener)
Subscribes to the specific eventTypes of the client, in the lifecycle of lifecycleOwner.
Only receives events when the lifecycle is in a STARTED state, otherwise events are dropped.
-
subscribeForSingle
final Disposable subscribeForSingle(String eventType, Function1<ChatEvent, Unit> listener)
Subscribes for the next event with the given eventType.
-
subscribeForSingle
final <T extends ChatEvent> Disposable subscribeForSingle(Class<T> eventType, Function1<T, Unit> listener)
Subscribes for the next event with the given eventType.
-
disconnect
final Unit disconnect()
-
getDevices
final Call<List<Device>> getDevices()
-
deleteDevice
final Call<Unit> deleteDevice(String deviceId)
-
searchMessages
final Call<List<Message>> searchMessages(SearchMessagesRequest request)
-
getFileAttachments
final Call<List<AttachmentWithDate>> getFileAttachments(String channelType, String channelId, Integer offset, Integer limit)
-
getImageAttachments
final Call<List<AttachmentWithDate>> getImageAttachments(String channelType, String channelId, Integer offset, Integer limit)
-
getReplies
final Call<List<Message>> getReplies(String messageId, Integer limit)
-
getRepliesMore
final Call<List<Message>> getRepliesMore(String messageId, String firstId, Integer limit)
-
sendAction
final Call<Message> sendAction(SendActionRequest request)
-
deleteMessage
final Call<Message> deleteMessage(String messageId)
-
getMessage
final Call<Message> getMessage(String messageId)
-
sendMessage
final Call<Message> sendMessage(String channelType, String channelId, Message message)
-
updateMessage
final Call<Message> updateMessage(Message message)
-
queryChannel
final Call<Channel> queryChannel(String channelType, String channelId, QueryChannelRequest request)
-
queryChannels
final Call<List<Channel>> queryChannels(QueryChannelsRequest request)
-
deleteChannel
final Call<Channel> deleteChannel(String channelType, String channelId)
-
markMessageRead
final Call<Unit> markMessageRead(String channelType, String channelId, String messageId)
-
showChannel
final Call<Unit> showChannel(String channelType, String channelId)
-
hideChannel
final Call<Unit> hideChannel(String channelType, String channelId, Boolean clearHistory)
-
stopWatching
final Call<Unit> stopWatching(String channelType, String channelId)
-
updateChannel
final Call<Channel> updateChannel(String channelType, String channelId, Message updateMessage, Map<String, Object> channelExtraData)
-
enableSlowMode
final Call<Channel> enableSlowMode(String channelType, String channelId, Integer cooldownTimeInSeconds)
-
disableSlowMode
final Call<Channel> disableSlowMode(String channelType, String channelId)
-
rejectInvite
final Call<Channel> rejectInvite(String channelType, String channelId)
-
sendEvent
final Call<ChatEvent> sendEvent(String eventType, String channelType, String channelId, Map<Object, Object> extraData)
-
getVersion
final String getVersion()
-
acceptInvite
final Call<Channel> acceptInvite(String channelType, String channelId, String message)
-
markAllRead
final Call<Unit> markAllRead()
-
updateUsers
final Call<List<User>> updateUsers(List<User> users)
-
updateUser
final Call<User> updateUser(User user)
-
queryUsers
final Call<List<User>> queryUsers(QueryUsersRequest query)
-
addMembers
final Call<Channel> addMembers(String channelType, String channelId, List<String> members)
-
removeMembers
final Call<Channel> removeMembers(String channelType, String channelId, List<String> members)
-
muteChannel
final Call<Unit> muteChannel(String channelType, String channelId)
-
unMuteChannel
final Call<Unit> unMuteChannel(String channelType, String channelId)
-
unmuteUser
final Call<Mute> unmuteUser(String userId)
-
unmuteCurrentUser
final Call<Mute> unmuteCurrentUser()
-
muteCurrentUser
final Call<Mute> muteCurrentUser()
-
flag
@Deprecated(message = "We are going to replace with flagUser()", replaceWith = @ReplaceWith(imports = {}, expression = "this.flagUser(userId)")) final Call<Flag> flag(String userId)
-
flagMessage
final Call<Flag> flagMessage(String messageId)
-
banUser
final Call<Unit> banUser(String targetId, String channelType, String channelId, String reason, Integer timeout)
-
shadowBanUser
final Call<Unit> shadowBanUser(String targetId, String channelType, String channelId, String reason, Integer timeout)
-
removeShadowBan
final Call<Unit> removeShadowBan(String targetId, String channelType, String channelId)
-
onMessageReceived
final Unit onMessageReceived(RemoteMessage remoteMessage)
-
onNewTokenReceived
final Unit onNewTokenReceived(String token)
-
getConnectionId
final String getConnectionId()
-
getCurrentUser
final User getCurrentUser()
-
getCurrentToken
final String getCurrentToken()
-
isSocketConnected
final Boolean isSocketConnected()
-
channel
final ChannelClient channel(String channelType, String channelId)
Returns a ChannelClient for given type and id
- Parameters:
channelType- the channel type.channelId- the channel id.
-
channel
final ChannelClient channel(String cid)
Returns a ChannelClient for given cid
- Parameters:
cid- the full channel id.
-
createChannel
final Call<Channel> createChannel(String channelType, String channelId, Map<String, Object> extraData)
-
createChannel
final Call<Channel> createChannel(String channelType, String channelId, List<String> members)
-
createChannel
final Call<Channel> createChannel(String channelType, List<String> members)
-
createChannel
final Call<Channel> createChannel(String channelType, List<String> members, Map<String, Object> extraData)
-
createChannel
final Call<Channel> createChannel(String channelType, String channelId, List<String> members, Map<String, Object> extraData)
-
getSyncHistory
final Call<List<ChatEvent>> getSyncHistory(List<String> channelsIds, Date lastSyncAt)
-
getNotificationHandler
final ChatNotificationHandler getNotificationHandler()
-
getDisconnectListeners
final List<Function1<User, Unit>> getDisconnectListeners()
-
getPreSetUserListeners
final List<Function1<User, Unit>> getPreSetUserListeners()
-
getConfig
final ChatClientConfig getConfig()
-
-
-
-