TapTalk.io Documentation
  • Introduction
  • OneTalk Omnichannel Documentation
    • Getting Started with OneTalk
      • Team Members
      • Add Topic
      • Assign Agent to Topic
      • Paid Proactive Chat
    • Channel Integration
      • Telegram Integration
      • WhatsApp SME Integration
      • Instagram DM Integration
      • Facebook Messenger Integration
      • Live Chat Integration (iOS, Android, Web)
        • OneTalk Live Chat for Android
          • Get Started
          • Event Listener
          • Authentication
          • Case & Topic
          • Navigate Live Chat UI
          • Customize UI Appearance
        • OneTalk Live Chat for iOS
          • Get Started
          • Background Process in TapTalk.io Omnichannel iOS
          • Event Delegate
          • Authentication
          • Case & Topic
          • Navigate Live Chat UI
          • Customize UI Appearance
        • OneTalk Live Chat for Web
          • Get Started
          • Callback
          • Method
        • OneTalk Live Chat for React Native
          • Get Started - Android
          • Authentication - Android
          • Get Started - iOS
          • Authentication - iOS
        • OneTalk Live Chat for Flutter
          • Get Started - Android
          • Get Started - iOS
      • Google Business Messages Integration
      • Google Business Profile Integration
      • Tokopedia Integration
    • Integration API
      • Inbox API
      • User/Contact API
    • Live Chat Widget Callback Function
    • Social Channel Button
    • Custom Chatbot Integration
      • Get Started
      • Edit or Delete Chatbot
      • Development
    • QnA via API
    • Webhook
  • PowerTalk Chat SDK Documentation
    • Getting Started with PowerTalk
    • PowerTalk Android
      • Get Started
      • Enable Chat Features
      • Authentication
      • TapUI and TapCore
      • Background Process in TapTalk.io
      • Connection
      • Event Listener
      • Push Notification
      • General
      • User
      • Room List
        • Room List - TapUI
        • Room List - TapCore
      • Chat Room and Messages
        • Chat Room and Messages - TapUI
        • Chat Room and Messages - TapCore
      • Contact
      • Message Type
      • Customize UI Appearance
      • Customize Chat Features
      • Customize Chat Message Bubble
      • Customize Navigation Bar
      • Deep Linking
      • Error Codes
    • PowerTalk iOS
      • Get Started
      • TapUI and TapCore
      • Background Process in TapTalk.io
      • Implement Application Delegate
      • Authentication
      • Connection
      • Event Delegate
      • Push Notification
      • General
      • User
      • Room List
        • Room List - TapUI
        • Room List - TapCore
      • Chat Room and Messages
        • Chat Room and Messages - TapUI
        • Chat Room and Messages - TapCore
      • Contact
      • Message Type
      • Customize UI Appearance
      • Customize Chat Features
      • Customize Chat Message Bubble
      • Customize Navigation Bar
      • Deep Linking
      • Error Codes
    • PowerTalk React Native
      • Get Started - Android
      • Get Started - iOS
    • PowerTalk Flutter
      • Get Started - Android
      • Get Started - iOS
    • Javascript SDK
      • Get Started
      • Authentication
      • Connection
      • General
      • Event Listener
      • User
      • Room List
      • Chat Room
      • Messages
      • Contact
      • Message Type
    • Server API
      • Get Started
      • Base URL
      • Authentication
      • User
      • Contact
      • Message
      • Room
    • Webhook
      • Get Started
      • Webhook Payload
  • MeetTalk SDK Documentation
    • Getting Started with MeetTalk
    • MeetTalk Android
      • Get Started
      • Event Listener
    • MeetTalk iOS
      • Get Started
      • Implement Application Delegate
      • Event Delegate
  • SendTalk API Documentation
    • Introduction
    • Whatsapp Verification
Powered by GitBook
On this page
  • Get Updated Room List
  • Get Room List From Cache
  • Fetch New Message
  • Search Local Room List
  • Mark Chat Room as Unread
  • Remove Unread Mark from Chat Room
  • Get Marked as Unread Chat Room List
  • Mute/Unmute Chat Room
  • Get Muted Chat Rooms
  • Pin/Unpin Chat Room
  • Get Pinned Chat Rooms

Was this helpful?

  1. PowerTalk Chat SDK Documentation
  2. PowerTalk Android
  3. Room List

Room List - TapCore

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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetRoomListListener;
import io.taptalk.TapTalk.Model.TAPRoomListModel;

...

TapCoreRoomListManager.getInstance().getUpdatedRoomList(new TapCoreGetRoomListListener() {
    @Override
    public void onSuccess(List<TAPRoomListModel> roomLists) {
        // Returns latest updated room lists
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetRoomListListener
import io.taptalk.TapTalk.Model.TAPRoomListModel

...

TapCoreRoomListManager.getInstance().getUpdatedRoomList(object : TapCoreGetRoomListListener() {
    override fun onSuccess(roomLists: List<TAPRoomListModel>?) {
        // Returns latest updated room lists
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Get Room List From Cache

Call this method to retrieve list of room data obtained from the local cache.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetRoomListListener;
import io.taptalk.TapTalk.Model.TAPRoomListModel;

...

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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetRoomListListener
import io.taptalk.TapTalk.Model.TAPRoomListModel

...

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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetMessageListener;
import io.taptalk.TapTalk.Model.TAPMessageModel;

...

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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetMessageListener
import io.taptalk.TapTalk.Model.TAPMessageModel

...

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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetRoomListListener;
import io.taptalk.TapTalk.Model.TAPRoomListModel;

...

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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetRoomListListener
import io.taptalk.TapTalk.Model.TAPRoomListModel

...

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?) {

    }
})

Parameters KEYWORD: (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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

// 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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

// 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?) {

    }
})

Parameters ROOM_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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

// 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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

// 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?) {

    }
})

Parameters ROOM_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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetStringArrayListener;

...

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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetStringArrayListener

...

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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

// 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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

// Mute a single chat room
TapCoreRoomListManager.getInstance().muteChatRoom(ROOM_ID, EXPIRED_AT, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully muted chat room
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

// Mute multiple chat rooms
TapCoreRoomListManager.getInstance().muteChatRooms(ROOM_IDS, EXPIRED_AT, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully muted chat rooms
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters ROOM_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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

// 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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

// Unmute a single chat room
TapCoreRoomListManager.getInstance().unmuteChatRoom(ROOM_ID, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully unmuted chat room
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

// Unmute multiple chat rooms
TapCoreRoomListManager.getInstance().unmuteChatRooms(ROOM_IDS, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully unmuted chat rooms
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters ROOM_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.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetMutedChatRoomListener;
import io.taptalk.TapTalk.Model.ResponseModel.TapMutedRoomListModel;

...

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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetMutedChatRoomListener
import io.taptalk.TapTalk.Model.ResponseModel.TapMutedRoomListModel

...

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().

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

// 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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

// Pin a single chat room
TapCoreRoomListManager.getInstance().pinChatRoom(ROOM_ID, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully pinned chat room
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

// Pin multiple chat rooms
TapCoreRoomListManager.getInstance().pinChatRooms(ROOM_IDS, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully pinned chat rooms
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Use unpinChatRoom() to remove existing pinned chat room ID from the pinned chat room list.

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

// Unpin a single chat room
TapCoreRoomListManager.getInstance().unpinChatRoom(ROOM_ID, new TapCommonListener() {
    @Override
    public void onSuccess(String successMessage) {
        // Successfully unpinned chat room
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

// Unpin multiple chat rooms
TapCoreRoomListManager.getInstance().unpinChatRooms(ROOM_IDS, new TapCommonListener() {
    @Override
    public void onSuccess(String successMessage) {
        // Successfully unpinned chat rooms
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

// Unpin a single chat room
TapCoreRoomListManager.getInstance().unpinChatRoom(ROOM_ID, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully unpinned chat room
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

// Unpin multiple chat rooms
TapCoreRoomListManager.getInstance().unpinChatRooms(ROOM_IDS, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Successfully unpinned chat rooms
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters ROOM_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().

import io.taptalk.TapTalk.Manager.TapCoreRoomListManager;
import io.taptalk.TapTalk.Listener.TapCoreGetStringArrayListener;

...

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) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreRoomListManager
import io.taptalk.TapTalk.Listener.TapCoreGetStringArrayListener

...

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?) {

    }
})
PreviousRoom List - TapUINextChat Room and Messages

Last updated 28 days ago

Was this helpful?

Get Updated Room List
Get Room List From Cache
Fetch New Message
Search Local Room List
Mark Chat Room as Unread
Remove Unread Mark from Chat Room
Get Marked as Unread Chat Room List
Mute/Unmute Chat Room
Get Muted Chat Rooms
Pin/Unpin Chat Room
Get Pinned Chat Rooms