/tindroid

Tinode chat client application for Android

Primary LanguageJavaApache License 2.0Apache-2.0

Tindroid: Tinode Messaging Client for Android

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

Getting support

What works:

  • One-on-one conversations and group chats.
  • Channels with unlimited number of read-only subscribers.
  • In-app presence notifications.
  • Unread message counters.
  • Push notifications.
  • Message status notifications: message delivery to server; received and read notifications; typing notifications.
  • Markdown-style formatting of text, e.g. *styled* → styled. Implemented as spannable.
  • Attachments and inline images.
  • Muting/un-muting conversations and other granular 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.

Not done yet:

  • End-to-end encryption.
  • No support for switching between multiple backends.
  • Mentions, hashtags.
  • Replying or forwarding messages.
  • Previews not generated for videos, audio, links or docs.

Dependencies

SDK:

SDK contains no Android-specific dependencies.

Application

Other

Demo avatars and some other graphics are from https://www.pexels.com/ under CC0 license.

Background patterns from http://subtlepatterns.com/, commercial and non-commercial use allowed with attribution.

The contacts.vcf contains a list of contacts which can be used for testing. Push it to your emulator using command

adb push contacts.vcf /sdcard/contacts.vcf`

Push notifications

If you want to use the app with your own server and want push notification to work you have to set them up:

  • Register at https://firebase.google.com/, set up the project if you have not done so already.
  • Download your own config file google-services.json and place it to the app/ folder of your copy of Tindroid project. The config file contains keys specific to your Firebase/FCM registration.
  • Copy Google-provided server key to tinode.conf, see details here.
  • Recompile the app. If you add google-services.json incorrectly the app will compile but will later crash with non-obvious exceptions.

Translations

The app is currently available in the following languages:

  • English
  • Chinese (simplified)
  • German
  • Korean
  • Russian
  • Spanish

Pull requests with more translations are welcome. See Russian and Chinese translations as examples.

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