Конкурс для разработчиков под Android

В этом конкурсе участникам предлагается взять за основу исходный код приложения Telegram для Android и добавить в него новые функции.

Все работы должны в точности следовать предложенному дизайну, который позволяет реализовать три задачи:

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


Ресурсы

  • Архив с дизайном всех необходимых экранами приложения можно скачать здесь.
  • Подробное описание новой схемы находится здесь.
  • Обратите внимание, что необходимая схема поддержана в dev ветке исходного кода.

Задачи

1. Запрет на пересылку и сохранение медиафайлов

Участникам необходимо добавить настройку для приватных групп и каналов, которая позволяет запрещать пересылку сообщений из них, а также сохранение фотографий, видео, файлов и GIF-анимаций на устройство пользователя (Group Actions.png / Channel Actions.png).

Для администраторов эта настройка располагается в редактировании сообщества в разделе Group Type / Channel Type (Group Settings.png / Channel Settings.png).

В панели администрирования каналов пункт Manage Invite Links на странице Channel Type может быть убран при условии, что появится пункт Invite Links на странице настроек. (См. Channel Main.png)

Данное изменение затронет меню действий с сообщениями, интерфейс просмотра фотографий и GIF, а также действия с медиафайлами в разделе Shared Media. Должны быть исключены следующие действия:

  • Forward
  • Share
  • Save to gallery
  • Save to files
  • Save to GIFs
  • Copy
  • Скриншоты (поведение аналогично секретным чатам).

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

2. Отправка сообщений от имени канала в публичных группах

Во всех публичных группах и группах, привязанных к каналам, добавляется возможность выбирать аккаунт, от которого отправляются сообщения. Для этого пользователь может нажать на миниатюрную фотографию в поле ввода и выбрать один из публичных каналов, где он является создателем (Owner).

В списке может находиться до 10 каналов, при этом максимальная высота меню показана на макете Send Message As Menu.png. В списке должна поддерживаться вертикальная прокрутка.

С точки зрения отправителя сообщения от имени канала повторяют по верстке сообщения от лица группы в дискуссионных чатах (Send Message As Post.png). Для получателей они выглядят как обычные сообщения с именем и фотографией канала (Send Message As View.png).

Общая логика этой функции соответствует вступлению в голосовые чаты. Для пользователей без публичных каналов интерфейс не изменится.

Анимация при нажатии на фотографию в поле ввода с появлением крестика соответствует той, которая используется при выборе человека при добавлении в группу. Радиальный селектор вокруг активной фотографии в слое уже реализован в слое, который возникает при создании голосового чата.

3. Удаление сообщений в выбранном диапазоне

Плашки с датами в чате (November 5, May 4 и т.п.) должны открывать календарь, аналогичный тому, который сейчас реализован в разделе Media профиля (вызывается из меню “три точки”, когда список фотографий развернут на весь экран).

Долгое нажатие по любому дню отображает предпросмотр чата, где первое сообщение — бирка с указанной датой (Range Day Preview.png). Нажатие на кнопку Select Days переводит календарь в режим выбора диапазона дат. Пользователь может выбрать произвольный диапазон и удалить все сообщения за данный период. При этом пользователю будет показано окно с подтверждением, которое содержит пояснительный текст (Range Select Alert.png).

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


Вопросы и неполадки

Задать вопросы о конкурсе и сообщить о технических проблемах с заданием можно в официальной группе Конкурсы Telegram