If you are using core implementation type, the application's chat room list can be managed with the TapCoreRoomListManager class using the following methods:
TapTalk Room List Method
Description
Call this method to fetch the latest room list data from the server and update to the local cache
Call this method to retrieve list of room data obtained from the local cache
Call this method to fetch new/updated messages that have not yet been received by the device
Call this method to search room lists from the device's local storage with a keyword
Add the chat room ID to the marked as unread chat room list
Remove chat room ID from the marked as unread chat room list
Retrieve the list of chat room IDs that has been marked as unread
Mute selected chat rooms until a specified time
Retrieve the list of muted chat room IDs and their respective mute expiry time
Add or remove the chat room ID to pinned chat room list
Retrieve list of pinned chat room IDs from the server
Get Updated Room List
Call this method to retrieve the latest room list data from the server and update to the local cache.
Call this method to retrieve list of room data obtained from the local cache.
TapCoreRoomListManager.getInstance().getRoomListFromCache(new TapCoreGetRoomListListener() {
@Override
public void onSuccess(List<TAPRoomListModel> roomLists) {
// Returns room lists obtained from cache
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
TapCoreRoomListManager.getInstance().getRoomListFromCache(object : TapCoreGetRoomListListener() {
override fun onSuccess(roomLists: List<TAPRoomListModel>?) {
// Returns room lists obtained from cache
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Fetch New Message
Call this method to fetch new/updated messages that have not yet been received by the device. Can be used to retrieve pending messages when the device goes back online after an offline state.
TapCoreRoomListManager.getInstance().fetchNewMessage(new TapCoreGetMessageListener() {
@Override
public void onSuccess(List<TAPMessageModel> messages) {
// Returns list of messages received by the user while the device is offline
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
TapCoreRoomListManager.getInstance().fetchNewMessage(object : TapCoreGetMessageListener() {
override fun onSuccess(messages: List<TAPMessageModel>?) {
// Returns list of messages received by the user while the device is offline
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Search Local Room List
Call this method to search room lists from the device's local storage with a keyword. Provided keyword will be used to filter room name in the search result.
TapCoreRoomListManager.getInstance().searchLocalRoomListWithKeyword(KEYWORD, new TapCoreGetRoomListListener() {
@Override
public void onSuccess(List<TAPRoomListModel> roomLists) {
// Returns filtered room lists obtained from cache
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
TapCoreRoomListManager.getInstance().searchLocalRoomListWithKeyword(KEYWORD, object : TapCoreGetRoomListListener() {
override fun onSuccess(roomLists: List<TAPRoomListModel>?) {
// Returns filtered room lists obtained from cache
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
ParametersKEYWORD: (String) search keyword to filter room name
Mark Chat Room as Unread
Call this method to add the selected chat room ID to the marked as unread chat room list.
// Mark single chat room as unread
TapCoreRoomListManager.getInstance().markChatRoomAsUnread(ROOM_ID, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully marked chat room as unread
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Mark multiple chat rooms as unread
TapCoreRoomListManager.getInstance().markChatRoomsAsUnread(ROOM_IDS, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully marked chat rooms as unread
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Mark single chat room as unread
TapCoreRoomListManager.getInstance().markChatRoomAsUnread(ROOM_ID, object : TapCommonListener() {
override fun onSuccess(successMessage: String?) {
// Successfully marked chat room as unread
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
// Mark multiple chat rooms as unread
TapCoreRoomListManager.getInstance().markChatRoomsAsUnread(ROOM_IDS, object : TapCommonListener() {
override fun onSuccess(successMessage: String?) {
// Successfully marked chat rooms as unread
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
ParametersROOM_ID: (String) ID of the target room
ROOM_IDS: (List<String>) list containing IDs of target rooms
Remove Unread Mark from Chat Room
Call this method to remove the selected chat room ID from the marked as unread chat room list.
// Remove unread mark from single chat room
TapCoreRoomListManager.getInstance().removeUnreadMarkFromChatRoom(ROOM_ID, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully removed unread mark from chat room
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Remove unread mark from multiple chat rooms
TapCoreRoomListManager.getInstance().removeUnreadMarkFromChatRooms(ROOM_IDS, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully removed unread mark from chat rooms
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Remove unread mark from single chat room
TapCoreRoomListManager.getInstance().removeUnreadMarkFromChatRoom(ROOM_ID, object : TapCommonListener() {
override fun onSuccess(successMessage: String?) {
// Successfully removed unread mark from chat room
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
// Remove unread mark from multiple chat rooms
TapCoreRoomListManager.getInstance().removeUnreadMarkFromChatRooms(ROOM_IDS, object : TapCommonListener() {
override fun onSuccess(successMessage: String?) {
// Successfully removed unread mark from chat rooms
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
ParametersROOM_ID: (String) ID of the target room
ROOM_IDS: (List<String>) list containing IDs of target rooms
Get Marked as Unread Chat Room List
Call this method to retrieve the list of chat room IDs that has been marked as unread.
TapCoreRoomListManager.getInstance().getMarkedAsUnreadChatRoomList(new TapCoreGetStringArrayListener() {
@Override
public void onSuccess(ArrayList<String> arrayList) {
// Returns list of roomID that has been marked as unread
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
TapCoreRoomListManager.getInstance().getMarkedAsUnreadChatRoomList(object : TapCoreGetStringArrayListener() {
override fun onSuccess(arrayList: ArrayList<String>) {
// Returns list of roomID that has been marked as unread
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
});
Mute/Unmute Chat Room
Call these methods to mute the selected chat rooms until a specified time. Active user will not receive notifications from muted chat rooms.
// Mute a single chat room
TapCoreRoomListManager.getInstance().muteChatRoom(ROOM_ID, EXPIRED_AT, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully muted chat room
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Mute multiple chat rooms
TapCoreRoomListManager.getInstance().muteChatRooms(ROOM_IDS, EXPIRED_AT, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully muted chat rooms
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
ParametersROOM_ID: (String) ID of the target room
ROOM_IDS: (List<String>) list containing IDs of target rooms
EXPIRED_AT: (Long) chat room will stay muted until this time, fill with 0L to mute the room forever or until the room is unmuted
To return chat rooms to its normal state and continue retrieving notifications, use unmuteChatRoom() method.
// Unmute a single chat room
TapCoreRoomListManager.getInstance().unmuteChatRoom(ROOM_ID, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully unmuted chat room
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Unmute multiple chat rooms
TapCoreRoomListManager.getInstance().unmuteChatRooms(ROOM_IDS, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully unmuted chat rooms
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
ParametersROOM_ID: (String) ID of the target room
ROOM_IDS: (List<String>) list containing IDs of target rooms
Get Muted Chat Rooms
Retrieve the list of muted chat room IDs and their respective mute expiry time.
TapCoreRoomListManager.getInstance().getMutedChatRoomList(new TapCoreGetMutedChatRoomListener() {
@Override
public void onSuccess(@NonNull ArrayList<TapMutedRoomListModel> mutedRoomList) {
// Returns list of TapMutedRoomListModel which contains
// roomID and expiry time of the muted chat rooms
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
TapCoreRoomListManager.getInstance().getMutedChatRoomList(ROOM_ID, object : TapCoreGetMutedChatRoomListener() {
override fun onSuccess(mutedRoomList: ArrayList<TapMutedRoomListModel>) {
// Returns list of TapMutedRoomListModel which contains
// roomID and expiry time of the muted chat rooms
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Pin/Unpin Chat Room
You may call pinChatRoom() to add or remove the chat room ID to pinned chat room list. Chat rooms pinned by the user are generally shown on top of the chat room list. You can later retrieve the list of pinned chat room IDs with getPinnedChatRoomIDs().
// Pin a single chat room
TapCoreRoomListManager.getInstance().pinChatRoom(ROOM_ID, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully pinned chat room
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
// Pin multiple chat rooms
TapCoreRoomListManager.getInstance().pinChatRooms(ROOM_IDS, new TapCommonListener() {
@Override
public void onSuccess(String successMessage) {
// Successfully pinned chat rooms
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
ParametersROOM_ID: (String) ID of the target room
ROOM_IDS: (List<String>) list containing IDs of target rooms
Get Pinned Chat Rooms
You can retrieve the list of the active user's pinned chat room IDs from the server with getPinnedChatRoomIDs().
TapCoreRoomListManager.getInstance().getPinnedChatRoomIDs(new TapCoreGetStringArrayListener() {
@Override
public void onSuccess(@NonNull ArrayList<String> pinnedRoomIDs) {
// Returns list of roomID of the active user's pinned chat rooms
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
TapCoreRoomListManager.getInstance().getPinnedChatRoomIDs(ROOM_ID, object : TapCoreGetStringArrayListener() {
override fun onSuccess(pinnedRoomIDs: ArrayList<String>) {
// Returns list of roomID of the active user's pinned chat rooms
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})