GlobalCanadaEuropeAsia-Pacific
Sign in

Back to Open Source

District AI for Android

The native District AI app for Android. Calls and transcripts, the shared inbox, contacts, multi-party rooms, push notifications and the workspace settings, in Kotlin and Jetpack Compose.

+1 202 555 0147

02:14

MuteSpeaker off
Hang up
A call placed from the app's dialer, in progress. The number is fictional.

A native Android client

Calls go through Android itself

It is a self-managed softphone that places and answers calls through Android's Telecom framework, beside the transcripts, the shared inbox and multi-party rooms.

Held to the service's own answers

Its types are decoded against responses recorded from the District AI service, with a strict decoder that rejects unknown fields. A rename on the server fails the tests here instead of shipping silently.

No release credentials in the repository

Releases are built, signed and sent to Google Play by the repository's own GitHub Actions workflow, which borrows the signing key, the store credential and the crash-reporting token for one run. None of them is stored in the repository or on GitHub.

Licence
Apache-2.0
Built with
Kotlin, Jetpack Compose
Store
Google Play

District AI for Android on GitHub

District AI for Android on GitLab (read-only mirror)

What is open source, and what is not

What is open source

This app, under Apache-2.0: you can read it, build it and change it. The District AI and Distronode names, logos and app icon are trademarks, so a build you distribute uses its own name, icon and application identifier.

A build from this repository reports no crashes: every crash-reporting default is empty, so reporting stays off unless the settings are supplied at build time.

What is not

The District AI service the app talks to. Everything the app shows comes from that service, and signing in needs a District AI account.

Without an account with us

Today the apps need a District AI account to sign in. We want them to work without an account with us too. We have not worked out what that looks like or whether it can work, and the answer depends on what people would use them with, so we are asking before we build anything.

Tell us what you would connect them to

Get involved

Issues and pull requests are welcome on GitHub. Report a vulnerability privately, as the security policy describes, and not in a public issue.

Contributing guide
CONTRIBUTING.md
Security policy
SECURITY.md
Changelog
CHANGELOG.md