Download .APK (54.8 MB)

Source on GitHub

Testing and Issues

You can test this app and submit issues during the testing period of the Android Contest 2021, Round 2 contest.

Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.




I pushed a new commit that fixes the crashes (3 lines of code). Because there are so many places in the original code from which messages are sent, and many callbacks that are called in a seemingly random order, it's a ridiculous mess.

There's also an updated apk in releases:

To avoid crashing in the original build, send a text message before sending an emoji in a newly opened chat. Sorry for that.
Samsung Galaxy S9, Android 10
You have not added any comments yet...
by rating


Fair Mammoth May 24, 2021 at 15:13
Конкурсное задание выполнено практически полностью — анимация отправки ссылок не реализована. Приложение демонстрирует высокую скорость анимаций, в том числе и на менее производительных устройствах. Отметим качественную реализацию ответов и отправки emoji. В ходе тестирования приложения были выявлены следующие недоработки:

Общие замечания
– Приложение может вылетать при отправке анимированных эмодзи, при отправке медиа из фоторедактора, при удалении черновика со ссылкой, а также при взаимодействии с ботами.
– Отправка нескольких стикеров подряд (около десятка) приводит к вылетам приложения.
– Разворачивание панели со стикерами приводит к проблемам с вёрсткой – сообщения беседы проступают поверх панели.

Текстовые сообщения
– Длинные текстовые сообщения при отправке могут накладываться на предыдущие сообщения беседы.
– Кнопка отправки не анимирована.

– Отрисовка временной метки не соответствует предоставленному дизайну.
– Отправка стикеров из предпросмотра набора с открытой панелью ESG (Emoji-Sticker-GIF) приводит к отображению стикера под ней.
– Проблемы с вёрсткой при развернутой панели ESG: сущности сообщений начинают отображаться поверх самой панели.

Голосовые сообщения
– Анимация отправки голосовых сообщений не соответствует предоставленному дизайну: иконка микрофона не закрашивается, кнопки микрофона и скрепки не анимируются.
– Запись голосовых сообщений может приводить к мерцанию анимированных стикеров в чате – необходимо заблокировать запись и пролистать чат. Кроме того, стикеры могут смаргивать в момент отмены записи в момент касании кнопки.
Samsung Galaxy S10 (Android 11); Samsung Galaxy J7 (Android 9); Nexus 5X (Android 8), Xiaomi Redmi Note 4 (Android 6).
Fair Mammoth May 24, 2021 at 15:13
– Панель прикрепления медиа застынет в развёрнутом состоянии до перезапуска приложения, если выбрать для отправки видео.
Анимации отправки не соответствуют предоставленному дизайну:
– Кнопка отправки неправильно анимируется (самолетик не совершает отскок влево, кнопка скрывается переходом вниз, а не в сторону)
– Временная метка и галочки проявляются резко, не из-за поля ввода.
– Радиальные прогрессы загрузки не соответствуют предоставленному дизайну (плотность линий, прозрачность).
– Пузыри сообщений в чате отрисовываются раньше времени.
– Присутствует счётчик медиа, который не предлагался в дизайне.

Редактор анимаций:
– При экспорте параметров возможно только локальное сохранение вместо меню «Поделиться».

Заметим, что отправка сообщений (через комментарии к конкретным постам) анонимным администратором приводит к смаргиванию первой строки в пузыре сообщения.
Samsung Galaxy S10 (Android 11); Samsung Galaxy J7 (Android 9); Nexus 5X (Android 8), Xiaomi Redmi Note 4 (Android 6).
If left chat before an animoji animation completed, return back and send an animoji, the app crashes
List of issues:

- Sending any animated emoji makes the app crash.
- Sending any GIF (silent video) from the attachment screen won't close the attachment screen.
- The animation of sending media from the attachment screen brings the media to a place lower than it should be.
- Sending media from the attachment screen sometimes crashes.
- Sending any picture taken from camera directly crashes the app

Generally the attachment menu is not usable.
GoogleSDK GphoneX86ARM/Android 11
Eager Cat Apr 5, 2021 at 19:31
Sending any form of video, and sending photos from anywhere but the attach sheet, isn't covered by this contest.
Why are there comments about crashes in bots etc, wasn't this all about animation and coded frame interpolation? App functionality is out of scope for this contest imo and will be dealt with by the tg dev. Animation works flawlessly on my device.
Oneplus 8pro, Android 11
As I promis
#1 and #2
Original large text:
Bubble top moves up and enlarges text area. Bubble also moves up (see screenshot)

Original large text reply:
Bubble top moves up and enlarges text area. The reply message has stable height. Bubble also moves up (see screenshot)

Different bubble animation. Bubble cover previous messages
Eager Cat Apr 5, 2021 at 19:20
It did not cover anything on all 5 devices on which I tested it.

I'll say it again — the animations in your submission are offset vertically. They probably work fine on your device, but they don't on mine. But then my animations are offset about the same amount on your device. Which suggests your device is somehow messed up in terms of how it reports view coordinates (view.getLocationInWondow). I suggest that you double check that you have a stock ROM and that you haven't messed with the system via adb commands.
Android 11 Pixel 3
4 Original emoji/sticker reply:
Reply bubble moves up, top edit area moves down and covers bubble partially (but not a reply message text) . Bubble top moves up and decreases width. Emoji moves to right.

App: cover all reply area
Also strange glitches with sticker animation
Android 11 Pixel 3
Eager Cat Apr 5, 2021 at 20:17
Okay, so the multiline message glitch does indeed exist, but only on Android 11.
6 Original voice message:
Bubble decreases width, moves up. Record dot change size, color and position from left from the record time to the right of it. Wave seek bar change X scale. Time label moves with bubble bottom.
Android 11 Pixel 3
Eager Cat Apr 5, 2021 at 19:34
The dot thing looked ugly so I skipped it on purpose.
Background issues:
1. Dark colors isn’t dark on background
2. Not handled color banding 
3. No blur in video recording
Google Pixel 5
Eager Cat Apr 5, 2021 at 21:48
What do you mean by color banding?
The application crashes when trying to open a chat.
(Emulated) Pixel 2XL, Android 6
1 Wrong large text animation
2 Wrong reply with large text animation
3 Wrong animoji animation
4 Wrong reply anomoji/sticker animation
5 After sending photos app freezes, require restart
6 Wrong voice message record time animation
7 No round video animation
8 Strange animation several messages
9 Goog perfomance!
Eager Cat Apr 5, 2021 at 13:23
What exactly does "wrong" mean here? You're writing mostly exactly the same thing on all other submissions. I'm pretty sure there's nothing "wrong" with them, I watched that video frame-by-frame.

There wasn't supposed to be a round video animation — there isn't one in the video.
In the contest rules -
Video message

Wrong means not like in the video.
1 Large text reply appears right under edit text cover a previous message and enlarging from the bottom instead of top
2 After you send a message with large text, animojis start moving from somewhere in the messages list but not from the panel. If you set large animation time, you can see 2 pictures - one animated and another dont
3 Replies element start moving not from the edit widget position
... and so on

This I mean is wrong animations
Animoji covers the search bar (apologize for the quality of the video).
Mi A2, Android 10
Insensiblity Apr 5, 2021 at 13:49
Crash when I click on the button in the bot or sending a command in any chat.
Mi 9T, Android 11
When I write a reply but then cancel the reply with the x at the top of the input field, the App crashes.
Android 10 - OnePlus 7Pro
Insensiblity Apr 5, 2021 at 13:59
Sending an edited picture causes a crash
Mi 9T, Android 11
I think this submission is good... Well done 👍
About colour banding:
Short: not smooth gradient (color precision limitations). But have some tricks to avoid this effect.
Google Pixel 5
Eager Cat Apr 11, 2021 at 13:34
How exactly to avoid it? Dithering? Not sure the result is worth the hassle. Maybe I could've made use of modern devices' HDR screens but I haven't researched into doing this in terms of APIs.
Nobody added any issues yet...