No description
Find a file
Sammy Scott 4472d5c8c1 refactor
2026-10-14 23:49:09 -06:00
.idea Fix compileSdk configuration and add haptic feedback to buttons 2026-09-26 16:26:55 -06:00
app refactor 2026-10-14 23:49:09 -06:00
gradle Kinda working device verifiy and chat ordering or sum 2026-10-02 23:09:30 -06:00
.gitignore Fix compileSdk configuration and add haptic feedback to buttons 2026-09-26 16:26:55 -06:00
build.gradle.kts Init 2026-09-26 13:59:55 -06:00
gradle.properties Init 2026-09-26 13:59:55 -06:00
gradlew Init 2026-09-26 13:59:55 -06:00
gradlew.bat Init 2026-09-26 13:59:55 -06:00
README.md Added just more screens 2026-09-26 21:10:18 -06:00
settings.gradle.kts Init 2026-09-26 13:59:55 -06:00

Matrix Client

This Android app uses Jetpack Compose for its UI. The app module includes the headless Trixnity Messenger SDK (4.10.3) from Maven Central. It provides Matrix messenger state and view models; the Compose screens are ours to build. The app also includes Ktor's OkHttp engine so the SDK can contact homeservers.

Getting started

  1. Open the project in Android Studio and sync Gradle.
  2. Run the app configuration. MainActivity creates a MatrixMessenger from a lifecycle coroutine, then calls createRoot() once and passes the root to Compose. The SDK chooses the active route through RootViewModel.stack.
  3. AddMatrixAccountScreen shows homeserver discovery and the login methods offered by that server. SSO and OAuth device authorization have basic screens. PasswordLogin is still a placeholder. The basic MainScreen lets you open account management and log out; room content is still a placeholder. Each route wrapper gives its screen the corresponding view model.

The SDK defines each screen's possible states in its view model interface. For example, look at OAuth2DeviceAuthorizationLoginViewModel.State and SSOLoginViewModel in the SDK source. The Android Activity provides the browser opener and receives the app's com.maiotech.matrixclient: login callbacks.

This Activity-scoped setup is a simple starting point. Before supporting multiple profiles, switch to MatrixMultiMessenger, as recommended by the SDK. The SDK currently cannot migrate a plain MatrixMessenger to MatrixMultiMessenger.

The Trixnity Messenger README documents routing, configuration, and view models. Its Compose View README shows a complete UI, but the Compose View dependency is optional and is not included here because this project is for a custom UI.

Trixnity Messenger is licensed under AGPL-3.0. The maintainers also offer a commercial license; check the license choice before distributing the app.