AI Integration Quick Reference
AI Integration Quick Reference
Overview
Blocking a user stops them from sending messages to the blocker. The CometChat UIKit handles most behaviors internally:- Composer Hidden: The message composer is hidden when chatting with a blocked user.
- Unblock Prompt: An “Unblock” button is displayed to reverse the block.
- Message Restrictions: Blocked users cannot send messages to the blocker.
Prerequisites
- Android Studio project with CometChat Android UI Kit v5 added to
build.gradle. - CometChat App ID, Auth Key, and Region configured and initialized.
<uses-permission android:name="android.permission.INTERNET"/>inAndroidManifest.xml.- Logged-in user via
CometChat.login(). - Existing one-on-one chat screen using
CometChatMessageListandCometChatMessageComposer.
Components
Integration Steps
1. Detect Block Status
Update UI when block state changes.- Kotlin
- Java
MessagesActivity.java
Ensures the composer and unblock UI reflect the current block state.
2. Hide Composer & Show Unblock UI
Define layout elements and their visibility toggles.activity_messages.xml
activity_messages.xml
Prepares the UI containers for dynamic show/hide operations.
3. Trigger Unblock Action
Call the unblock API and observe status updates.- Kotlin
- Java
4. Trigger Block from Detail Screen
Allow blocking directly from a user’s profile.- Kotlin
- Java
UserDetailActivity.java
Integrates block action into the profile menu, triggering the UI toggle via LiveData.
Implementation Flow
Customization Options
- Feedback UI: Show a Toast or Snackbar upon success/failure.
- Menu Icons/Text: Toggle icon and text dynamically after block/unblock.
- Disable History: Optionally gray out or hide past messages when blocked.
Filtering & Edge Cases
Error Handling
- Handle errors from
blockUsersandunblockUserscallbacks by showing alerts or retry prompts. - Ensure UI LiveData states revert on failure.
Group vs. User-Level Differences
Summary / Feature Matrix
Next Steps & Further Reading
Android Sample App (Java)
Explore this feature in the CometChat SampleApp:
GitHub → SampleApp
Android Sample App (Kotlin)
Explore this feature in the CometChat SampleApp:
GitHub → SampleApp