Info

Download .APK (59.3 MB)

Source on GitHub

https://github.com/markppv/Telegram-2077/tree/contezt

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

121

Comments

Сделал все, не хватило времени только на сногсшибательные голливудские анимации. А жаль, так как это должно было быть самое интересное, но я поставил в приоритет стабильность работы, и в итоге так и не добрался до анимаций, пришлось оставить базовые.

По первой задаче особо нечего сказать, разве что я предусмотрел менюшку "Restrict saving content" сразу при создании приватного канала. Мне кажется, норм тема.
ЗАДАЧА#2:
изначально хотел оставить вариант со скроллящимся хэдером (Send as...), но в процессе тестирования столкнулся с кейсом, в котором у юзера много публичных каналов и в качестве дефолтного 'send as' выбран один из последних в списке, тогда список при открытии сразу скроллится к этому каналу внизу, и хэдер уезжает из видимой зоны. мне показалось это, пускай и небольшой, но все же ошибкой с точки зрения пользовательского опыта, поэтому я сделал хэдер висящим над списком.
ЗАДАЧА#2:
список начинается предзагружаться сразу, как только юзер открыл чат, но если юзер откроет менюшку 'Send as' до того, как данные успеют прийти с сервера (например, если стоит режим самолета), то список все равно сразу откроется, но там будет всего один элемент - тот, который был выбран как дефолтный. а как только данные с сервера подгрузятся, список сразу же обновится с небольшой анимацией.
ЗАДАЧА#2:
при редактировании сообщения в канале, который поддерживает менюшку 'Send as', в качестве аватарки в поле ввода будет отображаться аватарка того пира, с которого было отправлено редактируемое сообщение. если кликнуть на саму аватарку, то откроется менюшка с именем этого пира (то есть это будет менюшка 'Edit as' вместо 'Send as').
ЗАДАЧА#3:
выбор дней сделал по принципу "ведущий-ведомый", то есть позицию меняет всегда второй (ведомый) выбранный день, первый же свою позицию не меняет. если надо изменить первый день, то сначала надо снять с него выделение (в этом случае он перестанет быть ведущим). это сочетает простоту понимания юзером того, как работает это выделение, и в то же время позволяет удобно выбрать нужный промежуток.
ЗАДАЧА#3:
при удалении сообщений в календаре, сразу же показывается тост с кнопкной UNDO, при нажатии на которую, сообщения не будут удалены, а выделение, которое было до удаления, вернется на календарь, и юзер сразу может подправить промежуток выделения, если понял, что удалил что-то не то уже после нажатия на кнопку "очистить историю".
ЗАДАЧА#3:
я решил не добавлять менюшку в превью, мои аргументы:
- из-за этого превью становится короче, юзер видит меньше сообщений;
- при этом в меню нет ничего такого, что нельзя было бы сделать в 1-2 клика в самом календаре, менюшка просто повторяет функционал;
- и если надо быстро предпросмотреть несколько дней, каждый раз необходимо делать дополнительный клик, чтобы закрыть превью.
поэтому я сделал, что превью закрывается сразу, как только палец отпущен от экрана.

в плане превью, я еще думал сделать, чтобы отображались только сообщения, отправленные в выбранный день, а если таких сообщений нет, то показывать соответствующую плашку. но немного не успел с этим.
P.S. это первый код, который я написал за последние месяцев этак десять, такие дела
You have not added any comments yet...
by rating

Issues

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

Общее число недочетов, в т.ч критических, приводящих к падению приложения, помешало продвижению работы на более высокое призовое место. 

Из положительных моментов отметим основательную работу над запретом скриншотов и пересылки сообщений. В задании с удалением сообщений в выбранном диапазоне дополнительно внедрена возможность отменить действие через кнопку Undo.

​​1. Запрет на пересылку и сохранение медиафайлов:
1.1 Описание пункта Channel Type смаргивает при включении запрета пересылки сообщений. 
1.2 Приложение отображает подсказку о запрете на пересылку для сервисных сообщений (Alex added you to this group и так далее).
1.3 На сущностях контактов доступна кнопка Copy.
1.4 В музыкальном плеере не отображается подсказка о запрете на пересылку.
1.5 Подсказка о запрете на пересылку сообщений отображается в разделе запланированных сообщений.

2. Отправка сообщений от имени канала в публичных группах:
2.1 Созданные публичные каналы не появляются в списке до перезапуска приложения.
2.2 Цвет автора в отправленном сообщении от имени канала некорректен.
2.3 Анимация выбора канала и сокрытию слоя со списком недостаточно плавная.
2.4 При открытии меню со списком публичных каналов, где есть каналы, в которых пользователь является администратором, может произойти вылет приложения.
2.5 Также приложение может вылететь при развернутом списке каналов, если в этот момент у пользователя отзываются права администратора в открытой группе.
2.6 Поле ввода при выборе канала не соответствует дизайну макетов.
2.7 При прокрутке списка чатов под заголовком не появляется тень.
2.8 При открытии списка каналов приложение может вылететь.

3. Удаление сообщений в выбранном диапазоне:
3.1 Работа над предпросмотром даты не завершена: область предпросмотра не фиксируется на экране, требуемая функциональность (переход к дате, выбор дня, очистка истории) не внедрена. 
3.2 Пользователю не выводится дата и количество сообщений за неё в шапке предпросмотра чата.
Samsung Galaxy A51 (Android 11); Xiaomi Redmi Note 8 Pro (Android 10); Samsung Galaxy S10 (Android 11).
20
Sturdy Pony Nov 19, 2021 at 01:32
Все-таки растерял я форму, но это ожидаемо. Уверен, что во втором этапе удасться показать куда более красивую игру.
gg all
Календарь:
- лонгтап в календаре - приложение виснет
- нет превью
SGS S9
Запрет пересылки:
- при смене стейта не лету кнопки аппбаров чата не меняют свое состояние
- при переходе в шаред медию из первью - можно выбрать пересылку сообщений
- иконка рисования поверх видео (и в целом поведение недетерминированное)
SGS S9
Nobody added any issues yet...