/tindroid

Tinode chat client application for Android

Primary LanguageJavaApache License 2.0Apache-2.0

Tindroid: Tinode Android client.

Android instant messenger using Tinode backend. Beta-quality software. Debug APKs are available in releases.

Getting support

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):

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 to tinode.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.

Screenshots

App screenshot - chat list App screenshot - chat App screenshot - chat settings App screenshot - account info App screenshot - searching for contacts App screenshot - creating new topic