# tindroid
**Repository Path**: jscloud/tindroid
## Basic Information
- **Project Name**: tindroid
- **Description**: Tinode chat client application for Android
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-09-24
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Tindroid: Tinode Android client.
Android instant messenger using [Tinode](https://github.com/tinode/chat/) backend. Beta-quality software.
A [debug APK](https://storage.googleapis.com/tinode.co/tindroid.apk) is provided for convenience.
## Getting support
* Read [client-side](http://tinode.github.io/java-api/) and [server-side](https://github.com/tinode/chat/blob/master/docs/API.md) API documentation.
* For support, general questions, discussions post to [https://groups.google.com/d/forum/tinode](https://groups.google.com/d/forum/tinode).
* For bugs and feature requests [open an issue](https://github.com/tinode/tindroid/issues/new).
## What works:
* Send and receive messages one-on-one or in group chats.
* Register new accounts.
* Start new chats.
* Edit chat parameters.
* In-app presence notifications.
* Unread message counters.
* Typing indicators.
* Push notifications.
* Indicators for messages received/read (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 on the SDK side (otherwise plain Java):
* [jackson](https://github.com/FasterXML/jackson) for json serialization.
* [Java-WebSocket](https://github.com/TooTallNate/Java-WebSocket/) for
websocket support.
## Dependencies on the application side:
* [libphonenumber](https://github.com/googlei18n/libphonenumber) for user discovery
to ensure all phone numbers use the same [E.164 format](https://en.wikipedia.org/wiki/E.164)
* [MaterialChipsInput](https://github.com/pchmn/MaterialChipsInput) widget for group chat member selection.
This implementation is buggy and inflexible, should be replaced ASAP. Google should have provided this widget.
* [google-services](https://firebase.google.com/docs/cloud-messaging/android/client) for push notifications.
In order to compile the app you need to [generate your own](https://developers.google.com/mobile/add)
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](https://github.com/tinode/chat).
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`
## Screenshots
