About this project

This repository is the official Android SDK for Stream Chat, a hosted service for building chat and messaging applications. It ships a low-level client for API calls and chat events, an offline module for local caching and automatic retries exposed through Flow and LiveData, and two UI layers: Jetpack Compose components and XML-based UI components. The Compose SDK is Kotlin-only because Compose relies on Kotlin compiler plugins; the rest of the SDK supports Kotlin and Java, with Kotlin recommended. Out-of-the-box features include channel and channel-list UI, message reactions, link previews, image/video/file attachments, message editing and deletion, typing and read indicators, push notifications, an image gallery, GIF support, light and dark themes, style and UI customization, threads, slash commands, Markdown formatting and unread counts. Sample apps are provided for both the Compose and XML UI paths, and a separate repository hosts further sample applications. Installation and configuration are documented on the project's documentation site, covering dependencies and getting started. R8 rules are applied automatically; ProGuard users must add the consumer rules from the client, ui-common and previewdata modules, plus rules for Coroutines, Retrofit and OkHttp. The SDK requires API level 21 or higher. The project is published under the Stream License, which is not a standard open-source license, and the service itself is free for qualifying small side and hobby projects.