This commit introduces several improvements to the navigation and user interface, primarily focused on the channel screen and login/registration flows. **Channel Screen & Navigation:** - Implement swipe-to-go-back gesture on the ChannelScreen. - Persist the ChannelSideDrawer as a background layer when a channel is open. This allows for a smoother transition when returning to the channel list. - Allow swiping from the left edge of the screen (when not in a channel view) to reopen the last viewed channel. - Ensure the correct channel is highlighted in the ChannelSideDrawer when a channel is active. - The back button on the ChannelScreen now navigates to the previous non-channel screen or the server's channel list, providing a more intuitive backstack behavior. **Login/Registration:** - Disable HTTP request retries for login attempts to prevent unexpected behavior with MFA or incorrect credentials. - Add loading indicators to the Login and RegisterDetails screens to provide visual feedback during network operations. - Display error messages more prominently on the Login and RegisterDetails screens. - Adjust the soft input mode on the LoginScreen to `SOFT_INPUT_ADJUST_PAN` to prevent UI elements from being obscured by the keyboard. - Fix a bug where the default notification type was incorrectly mapped. **Other Changes:** - Update the monochrome notification icon. - Modify the primary color in `colors.xml`. - Minor cleanups and toast message improvements in ChannelScreen camera handling. |
||
|---|---|---|
| .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
Peptide on Android
Description
This is the official Android app for the Peptide chat platform.
The codebase includes the app itself, as well as an internal library for interacting with the Peptide
API.
| Module | Package | Description |
|---|---|---|
:app |
chat.peptide |
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
Peptide on Android
- Peptide on Android Technical Documentation
- Android-specific Contribution Guide —read carefully before contributing!
Peptide
- Peptide Project Board (Submit feature requests here)
- Peptide Testers Server
- General Peptide 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