Info

Download .APK (63.3 MB)

Source on GitHub

https://github.com/4xes/Telegram/tree/dev

Testing and Issues

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

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

Voting

22

Comments

1. Сделал реалтайм апдейта NoForwards, пытался сделать везде, где нашел в приложении.

2. Постарался реализовать анимацию появления pop-up и перемещения аватарки, как в видео.
Сделал две анимации, одна когда выбираешь другого пользователя и вторую когда выбор остается старый без перемещения.
Также отдельная анимация при появлении кнопки и пропаже со сдвигом кнопки emoji.

Постарался сделать правильный расчет размера вьюшки в зависимости доступной высоты чата.

3. Реализовано только открытие из даты
2. Минорные проблемы: 
В анимации с перемещением случайно сделал неправильно расчет overshoot анимации, периодически из-за этого финиш анимации аватарки из-за прыжков начинает мерцать.
При записи аудио забыл скрыть кнопку.
Скролл на текущую позицию в списке.
Есть подробный список задач, которые были сделаны в рамках конкурса:

https://continuous-seeder-b55.notion.site/Telegram-Contest-5433d19dede84d3487717ecc96a3e048
1
You have not added any comments yet...
by rating

Issues

Fair Mammoth Nov 18 at 23:05
Выполнено задач: 2/3
Не завершено: 1 (удаление сообщений в выбранном диапазоне)

Общее число недочетов, а также невыполненное третье задание помешало продвижению работы на более высокое призовое место. Отметим начатую работу над анимациями во втором задании, а также поддержкой realtime-изменений в первом и втором задании.

​​​1. Запрет на пересылку и сохранение медиафайлов: 
1.1 Пользователь может обойти запрет на скриншоты через переход в раздел закрепленных или запланированных сообщений с последующим возвращением на экран чата.
1.2 У пользователей теперь нет возможности ответить на служебные сообщения, например, о добавлении кого-то в чат или смене названия группы.
1.3 Подсказка о запрете на пересылку сообщений отображается в разделе запланированных сообщений. 
1.4 При выборе нескольких сообщений подсказка о запрете на пересылку ориентирована в противоположную сторону, что не соответствует предоставленному дизайну.
1.5 После выхода с экрана выбора нескольких сообщений приложение скрывает подсказку с задержкой.
1.6 Подсказка в Shared Media не соответствует предоставленному дизайну – хвостик отделён от тултипа .
1.7 У неактивной кнопки Forward не должно быть эффекта Ripple.
1.8 Пользователь может обойти запрет на пересылку и копирование в следующих ситуациях:
– На экране выбора нескольких сообщения выводится работающая кнопка Copy через выделение текста.
1.9 Пользователь может сохранять аватары группы и каналов, в которых активен запрет на пересылку сообщений.

2. Отправка сообщений от имени канала в публичных группах:
2.1 Окно списка каналов фокусируется в верхней части списка вместо отображения выбранного канала.
2.2 Приложению не достаёт оптимизации при выборе сущности из списка каналов в альбомной ориентации с развернутой клавиатурой – вместо списка выводится лишь заголовок.
2.3 Цвет автора в отправленном сообщении от имени канала некорректен.

3. Удаление сообщений в выбранном диапазоне:
Работа над заданием не завершена. В текущей сборке пользователю доступен только переход к календарю с миниатюрами медиа. Отметим, что реализация перехода к экрану календаря на данный момент происходит в том числе и при касании служебных сообщений, что не корректно. 
Samsung Galaxy A51 (Android 11); Xiaomi Redmi Note 8 Pro (Android 10); Samsung Galaxy S10 (Android 11).
20
Fit Rhino Nov 19 at 10:24
Спасибо за фидбек, оказалось в первой задаче больше нюансов, чем я представлял)

Хотел бы добавить пожелание от себя. Вдруг меня услышат тут. Макеты в Sketch переводить в Android Artboard, чтобы размеры соответствовали dpi. Очень неудобно, когда они непонятно к чему привязаны)
Невозможно сделать снимок экрана для приватной группы с флагом в false
Samsung A71
1
Fit Rhino Nov 17 at 10:20
Ох, увидел, да почему-то для скриншотов сделал отключение при получении отрицательного флага, но не включение их =/ Блин фикс на одну минуту
https://github.com/4xes/Telegram/commit/b9269d5d815c484f26fd05bacf8118e78e8e820d
Я пошел по такому пути - максимальная высота для трех элементов и поверх кравы, так как все-равно она не доступна пока есть попап
SGS S9
1
Fit Rhino Nov 17 at 21:07
Как вариант вполне
A
Andrey Eremenko Nov 16 at 11:48
Поле ввода сообщения затеняется, а по дизайну не должно
Nexus 5 API 29
Fit Rhino Nov 16 at 12:00
Не обратил внимание на такую деталь, спасибо)
NT AUTHORITY Nov 16 at 13:09
it would good to add public username next to the channel name.(if not available use `private` tag).
Для прода подойдёт?
Samsung A71
Fit Rhino Nov 17 at 10:01
Достаточно много кейсов попытался охватить. Очень много времени потратил на реактивность, чтобы UI в первой задаче везде обновлялся под NoForwards.
Чаты с тормозами открываются. Не удобная реализация задачи 2.
Samsung A71
Fit Rhino Nov 17 at 09:54
Изначально делал упрощенную реализацию, где стандартная анимация появления диалогового окна и без перемещения аватарки. Теоретически можно отключить ее, поменяв 3-4 строчки в коде.
В Shared Media не нравится расположение всплывающей подсказки. Треугольник слишком далеко.
Samsung A71
Fit Rhino Nov 17 at 11:08
Есть такое немного, сделал чуть ниже
https://github.com/4xes/Telegram/commit/794421fa0b212f1c8f7f5a92af1443cd7d3951cf
Landscape
SGS S9
Fit Rhino Nov 17 at 21:02
Ага, увидел сегодня у других участников такой баг, сразу понял, что будет также, так как вьха подстраивается в свободную высоту между AppBar и EnterView.
Наверно в таком случае лучше заполнять пространство от верха ActionBar, а не от низа, но места хватит ток на один элемент списка :/. Либо заходить на область ввода и клавиатуры.
Непонятно ¯\_(ツ)_/¯
Необходима проверка кейса
Samsung A71
Nobody added any issues yet...