You can find examples using roster and other features in QB snippets: enter link description here
After you logged in video chat, you can get roster using:
QBChatRoster roster = QbChatService.getInstance().registerRoster(new QBChatRoster.QBRosterListener() {
@Override
public void entriesDeleted(Collection<String> users) {
}
@Override
public void entriesAdded(Collection<String> users) {
//List<Integer> usersId = qbChatRoster.getUsersId();
for (String s : users) {
Log.i(TAG, "roster added="+s);
}
}
@Override
public void entriesUpdated(Collection<String> users) {
for (String s : users) {
Log.i(TAG, "roster updated="+s);
}
}
@Override
public void presenceChanged(Presence presence) {
Log.i(TAG, "presence changed="+presence.getFrom() + " "+presence.getType());
}
});
Be careful. Instance of QBChatService will be instantiated when you start VideoChat.
In presenceChanged() method you can check whicn one available or nonavailable. You can listen for "available"/"nonavailable" presence using:
QBChatService.getInstance().addNotMessageListener(packetListener);
And you can add friend using:
qbChatRoster.createEntry(int userId, String name, String[] groups)
which will send request to user and add his data to roster.
Using:
QbChatService.getInstance().sendCustomPresence(Presence presence)
you can send raw presence. For example to confirm request to add you as friend - which you can get in NotMessageListener.