Skip to content

Instantly share code, notes, and snippets.

@ledzep9012
Last active January 30, 2017 11:26
Show Gist options
  • Save ledzep9012/c50daa542d4cad8daa02669c0a5c34bf to your computer and use it in GitHub Desktop.
Save ledzep9012/c50daa542d4cad8daa02669c0a5c34bf to your computer and use it in GitHub Desktop.
List<String> userIdsList = new ArrayList<String>();
userIdsList.add(mReceiverId);
GroupChannel.createChannelWithUserIds(userIdsList, true, new GroupChannel.GroupChannelCreateHandler() {
@Override
public void onResult(GroupChannel groupChannel, SendBirdException e) {
if (e != null) {
// Handle Exception here
return;
}
mGroupChannel = groupChannel;
setGeneralChannelHandler();
// Load messages
loadMessages(groupChannel);
}
});
private void setGeneralChannelHandler() {
SendBird.addChannelHandler(channelIdentifier, new SendBird.ChannelHandler() {
@Override
public void onMessageReceived(BaseChannel baseChannel, BaseMessage baseMessage) {
if (mGroupChannel != null && baseChannel.getUrl().equals(mGroupChannel.getUrl())) {
if (mMessagesListAdapter != null && baseMessage instanceof UserMessage) {
printUserMesage((UserMessage) baseMessage);
mGroupChannel.markAsRead();
// Set Views here
}
}
}
@Override
public void onReadReceiptUpdated(GroupChannel groupChannel) {
}
@Override
public void onTypingStatusUpdated(GroupChannel groupChannel) {
}
@Override
public void onUserJoined(GroupChannel groupChannel, User user) {
}
@Override
public void onUserLeft(GroupChannel groupChannel, User user) {
}
});
}
private void loadMessages(GroupChannel groupChannel) {
PreviousMessageListQuery previousMessageListQuery = groupChannel.createPreviousMessageListQuery();
previousMessageListQuery.load(MAXIMUM_MESSAGES_LOAD, false, new PreviousMessageListQuery.MessageListQueryResult() {
@Override
public void onResult(List<BaseMessage> baseMessagesList, SendBirdException e) {
if (e != null) {
// Handle Exception Here
return;
}
mMessagesList = new ArrayList<UserMessage>();
// Use the list to set adapters
}
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment