Skip to main content

MeetingLawyersClient

Description

The MeetingLawyersClient interface manages user authentication, push notifications, color configuration, and message observation within the Meeting Lawyers platform.

The recommended approach is to obtain a client instance using the build() method of MeetingLawyersSDK. After obtaining the instance, you should add it to your Dependency Injection (DI) container or setup. This ensures that the instance is properly managed throughout the application's lifecycle, promoting easier code maintenance, testing, and scalability.

As an alternative, if DI integration is not feasible, you can obtain an instance using the static method MeetingLawyersSDK.getClientInstance(). Note that getClientInstance() will only work after you have called the build() method on the SDK. However, this option should only be used when DI is not an option.

Public Methods

Authentication

authenticate(userId: String, callback: SDKCallbackWithoutData?)

Authenticates a user on the Meeting Lawyers platform.

deauthenticate(callback: SDKCallbackWithoutData?)

Logs out the current user.

isAuthenticated(): Boolean

Checks if the user is authenticated.

deleteAccount(callback: SDKCallbackWithoutData?)

Deletes the user’s account.

getInstallationGuid(): String

Retrieves the installation UUID.

Push Notifications

onPushMessageReceived(data: String): Boolean

Processes a received Firebase message and determines if it belongs to Meeting Lawyers.

onNotificationDataReceived(data: String): Boolean

Processes a notification data and determines if it belongs to Meeting Lawyers.

onNewTokenReceived(token: String)

Registers a new push notification token in the system.

isMeetingLawyersPushMessage(data: String): Boolean

Verifies if a push message belongs to Meeting Lawyers.

isMeetingLawyersNotificationData(data: String): Boolean

Verifies if the notification data corresponds to Meeting Lawyers.

Messaging

openChatWithProfessional(context: Context, professionalHash: String)

Opens a chat with a specific professional using their hash.

openProfessionalList(context: Context, toolbarImageResource: Int?)

Opens an activity with the list of available professionals.

getUnreadMessageCount(responseListener: SDKCallback<Int>?)

Retrieves the number of unread messages.

getUnreadMessageCount(): SharedFlow<Int>

Returns a shared flow with the number of unread messages.

Color Configuration

setPrimaryColor(color: Int?)

Sets the primary color of the interface.

setSecondaryColor(color: Int?)

Sets the secondary color of the interface.

setProfessionalSpecialityTextColor(color: Int?)

Sets the text color for the professional’s specialty.

setUnreadMessagesBadgeBgColor(color: Int?)

Sets the background color of the unread messages badge.

setProfessionalDescriptionColor(color: Int?)

Sets the text color of the professional’s description.

setDisabledProfessionalColor(color: Int?)

Sets the color for disabled professionals.

setOngoingMessageBgColor(color: Int?)

Sets the background color for outgoing messages.

setIncomingMessageBgColor(color: Int?)

Sets the background color for incoming messages.

Tracking

logOpenScreenEvent(screenName: String, subtype: String? = null)

Logs an open screen event in the system.

SDK Callbacks interfaces

interface SDKCallbackWithoutData {
fun onSuccess()
fun onError(message: String?)
}

interface SDKCallback<D> {
fun onSuccess(data: D)
fun onError(message: String?)
}