Tindroid: Tinode Android client.
Android instant messenger using Tinode backend. Beta-quality software. Debug APKs are available in releases.
Getting support
- Read client-side and server-side API documentation.
- For support, general questions, discussions post to https://groups.google.com/d/forum/tinode.
- For bugs and feature requests open an issue.
What works:
- Send and receive messages one-on-one or in group chats.
- Register new accounts.
- Find contacts, start new chats.
- Edit chat parameters.
- In-app presence notifications.
- Unread message counters.
- Typing indicators.
- Push notifications.
- Delivered/received/read notifications (little check marks in messages).
- Markdown-style formatting of text, e.g. *styled* → styled. Implemented as spannable.
- Attachments and inline images.
- Muting/un-muting conversations and other permission management.
- Integration with Android's stock Contacts.
- Invite contacts to the app by SMS or email.
- Transport Level Security - https/wss.
- Offline mode is mostly functional.
- Editing of personal details.
Does not work yet:
- No end-to-end encryption.
Dependencies
SDK (otherwise plain Java):
- jackson for json serialization.
- Java-WebSocket for websocket support.
Application
- libphonenumber for user discovery to ensure all phone numbers use the same E.164 format
- google-services for push notifications.
In order to compile the app you need to download your own
config file
google-services.json
. Once downloaded, copy it to the./app/
folder. The config file contains Google-provided passwords and as such cannot be shared. If you don't do it the app will crash with non-obvious exceptions. The Google-provided server key must be copied totinode.conf
, see details here.
The contacts.vcf
contains a list of contacts which can be used for testing. Push it to your emulator using
adb push contacts.vcf /sdcard/contacts.vcf
Translations
Pull requests with translations are welcome. See Russian translation as an example.