This commit introduces a bottom navigation bar to the chat interface. Key changes include: - Added a `Scaffold` with a `BottomAppBar` in `ChannelNavigator`. - The `BottomAppBar` contains `NavigationBarItem`s for "Home", "Friends", and "You" (Overview). - The "Home" destination now displays the `Sidebar`. - Removed the tablet-aware UI logic and the dismissible navigation drawer implementation. - Simplified `ChannelNavigator` parameters, removing `useDrawer`, `disableBackHandler`, `onEnterVoiceUI`. - Updated screen composables (`FriendsScreen`, `NoCurrentChannelScreen`, `ChannelScreen`, `OverviewScreen`) to remove the `useDrawer` parameter and its associated logic, as the drawer is no longer directly managed by these screens. - Removed `drawerState` parameter from `ChannelSideDrawer` and related components, as drawer state is now managed differently. - Removed logic related to closing the drawer on item clicks within `ChannelSideDrawer`. - Added a new `ChatRouterDestination.Home`. - Request for `POST_NOTIFICATIONS` permission is now correctly using `Manifest.permission.POST_NOTIFICATIONS`. |
||
|---|---|---|
| .github/workflows | ||
| .idea | ||
| app | ||
| compliance | ||
| docs | ||
| gradle/wrapper | ||
| scripts | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| LICENCE | ||
| OFL.txt | ||
| README.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| revoltbuild.properties.example | ||
| sentry.properties.example | ||
| settings.gradle.kts | ||
README.md
Revolt on Android
Description
This is the official Android app for the Revolt chat platform.
The codebase includes the app itself, as well as an internal library for interacting with the Revolt
API.
| Module | Package | Description |
|---|---|---|
:app |
chat.revolt |
The main app module. |
The API library is part of the app module, and is not intended to be used as a standalone library,
as it makes liberal use of Android-specific APIs for reactivity.
The app is written in Kotlin, and uses the Jetpack Compose UI toolkit, the current state of the art for Android UI development.
Stack
- Kotlin
- Jetpack Compose
- For some Material components, the View-based Material Components Android (MDC-Android) library is used.
- Ktor
- Dagger with Hilt
Resources
Revolt on Android
- Revolt on Android Technical Documentation
- Android-specific Contribution Guide —read carefully before contributing!
Revolt
- Revolt Project Board (Submit feature requests here)
- Revolt Testers Server
- General Revolt Contribution Guide
Quick Start
Open the project in Android Studio. You can then run the app on an emulator or a physical device by
running the app module.
In-depth setup instructions can be found at Setting up your Development Environment