The Sceyt Chat UIKit abstracts every screen transition through aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sceyt/sceyt-chat-android-uikit/llms.txt
Use this file to discover all available pages before exploring further.
Destination sealed class and a SceytChatUIKitNavigator interface. Rather than hard-coding startActivity calls throughout your codebase, UIKit calls SceytChatUIKit.navigator.resolve(destination) before launching any screen. Your app can intercept any route at that single point, replace the destination with a custom one, or wrap the navigation in your own back-stack management.
The SceytChatUIKitNavigator Interface
DefaultSceytChatUIKitNavigator) simply returns the destination unchanged. Override resolve to intercept specific destinations and return a modified or replaced one.
To activate your navigator, assign it before the first screen is opened:
Extension Functions
Two extension functions onSceytChatUIKitNavigator drive all navigation calls inside UIKit:
| Function | Usage |
|---|---|
navigate(context, destination) | One-way navigation — calls resolve, then destination.navigate(context) |
navigateForResult(context, launcher, destination) | Result navigation — calls resolve, then launches via ActivityResultLauncher |
The Destination Sealed Class
Every UIKit route is represented as a subclass of Destination. Each subclass owns a createIntent(context: Context): Intent factory and optional createOptions(context: Context): ActivityOptionsCompat for transitions.
Channel
Channel
Opens a chat channel conversation.
ChannelInfo
ChannelInfo
Opens channel details, optionally activating message search mode.
StartChat
StartChat
Opens the UIKit start-chat entry screen (user picker for new conversations).
CreateChannel
CreateChannel
Opens the one-to-one channel creation flow.
CreateGroup
CreateGroup
Opens the group creation flow with a pre-selected list of members.
SelectUsers
SelectUsers
Opens the generic user-selection screen driven by
SelectUsersPageArgs.GlobalSearch
GlobalSearch
Opens the global message search screen. When an
Activity context and a sourceView are provided, a shared-element transition is used automatically.MessageInfo
MessageInfo
Opens the delivery and read-receipt info screen for a specific message.
Forward
Forward
Opens the forwarding flow for one or more messages.
PollResults
PollResults
Opens the poll result detail screen for a message.
CreatePoll
CreatePoll
Opens the poll creation screen for the target channel.
InviteLink
InviteLink
Opens invite-link management for a channel.
ImagePreview
ImagePreview
Opens a lightweight full-screen image preview.
SelfDestructingMediaPreview
SelfDestructingMediaPreview
Opens the self-destructing media attachment viewer.
SelfDestructingVoicePreview
SelfDestructingVoicePreview
Opens the self-destructing voice message player.
MediaPreview
MediaPreview
Opens the full-screen media viewer. Accepts either a single attachment or a preloaded list for swipe-through browsing. Optionally provide a
sourceView for a shared-element transition.CameraMediaPreview
CameraMediaPreview
Opens the preview screen shown after capturing media with the built-in camera.
CustomCamera
CustomCamera
Opens UIKit’s built-in camera screen with an optional allowed-mode constraint.
AppRoot
AppRoot
Opens the host app’s launcher / root activity. UIKit uses this as a safe fallback for task-root exits and notification entry points.
Replacing a Destination
The recommended pattern is to subclass the built-in destination (it isopen) and override createIntent — then return your subclass from resolve.
Example: Open a Custom Channel Activity
Override
createOptions(context) in your custom destination if you also want to change the transition animation or use a shared-element transition.