Skip to content
webarmourPublic
forked from DrKLO/Telegram

About

Unofficial Telegram client with a custom video message recorder

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

697 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Иконка Easygram

Easygram

English · Русский

Easygram — неофициальный клиент Telegram для Android. Он основан на открытом коде Telegram и развивает привычный мессенджер дополнительными возможностями. Сейчас основное внимание уделено записи видеосообщений — «кружков».

Собственный camera pipeline

На Android 9 и новее Easygram записывает кружки через отдельный camera pipeline на базе Camera2. Запись интегрирована в интерфейс чата, но использует собственную обработку камеры, предпросмотра, звука и видео. На более старых версиях Android остаётся прежний путь записи.

Что это даёт:

  • Больше контроля над качеством. В настройках видеосообщений можно выбрать разрешение, частоту кадров, битрейт видео и звука, максимальную длительность и параметры обработки изображения.
  • Настройку под камеру устройства. Доступность режимов проверяется для фронтальной и основной камер. Неподдерживаемые варианты помечаются как недоступные и не сохраняются.
  • Более аккуратное начало записи. Запись запускается после готовности камеры и первого кадра предпросмотра. Дополнительная задержка помогает не включать в готовое видео скачок экспозиции в момент запуска.
  • Удобное переключение камер. Можно запоминать камеру, использованную при последней записи, и начинать следующий кружок с неё. Если настройка выключена, запись начинается с фронтальной камеры.
  • Настройку света и фокуса. Доступны параметры экспозиции, баланса белого, фокусировки, стабилизации и других режимов камеры — если их поддерживает устройство. Во Настройки находятся в Настройки → Видеосообщения. Поведение камеры и доступность отдельных функций могут различаться между устройствами.

Что дальше

Easygram продолжит развиваться: планируются новые улучшения записи кружков, качества изображения и удобства использования приложения. Изменения будут появляться постепенно.

Сборка

Проект использует Android SDK 36, Android NDK 27.2.12479018 и Gradle Wrapper из репозитория. Для собственной сборки нужны свои api_id и api_hash, конфигурация Firebase и ключ подписи. Подробности получения ключей описаны в документации Telegram API. Перед публикацией сборки замените тестовые значения и файлы конфигурации своими.

Обновления APK

Новые сборки проверяют GitHub Releases напрямую. Релиз с флагом Pre-release предназначен для beta (io.github.webarmour.easygram.beta), обычный опубликованный релиз — для stable (io.github.webarmour.easygram). Черновики игнорируются. Проверка происходит при возобновлении приложения не чаще раза в час; вручную её можно запустить из настроек.

  1. Соберите :TMessagesProj_App:assembleAfatDebug для beta или :TMessagesProj_App:assembleAfatRelease для stable. Для stable используются параметры EASYGRAM_RELEASE_* из локального local.properties. Сохраняйте ключ подписи каждого канала: Android разрешает обновление установленного приложения только APK с тем же пакетом и подписью.
  2. Увеличьте APP_VERSION_CODE относительно уже установленного выпуска и создайте GitHub Release с тегом v<versionName>-<APP_VERSION_CODE>, например v13.1.2-7240. Нужен именно исходный APP_VERSION_CODE из gradle.properties: APK варианта afat получает код APP_VERSION_CODE * 10 + 9.
  3. Прикрепите один файл TMessagesProj_App/build/outputs/apk/afat/<debug|release>/app.apk к релизу и опубликуйте его. Приложение возьмёт SHA-256 и ссылку на APK из метаданных GitHub, а перед установкой проверит скачанный файл, пакет, versionCode и подпись. Если APK добавлен уже после публикации релиза, он появится при следующей проверке.

Старые установленные версии, которые ещё читают updates/beta.json и updates/stable.json, требуют разового обновления feed для перехода на этот механизм. Для этого после загрузки APK можно использовать Tools/update_feed.py; затем новые версии будут видеть следующие GitHub Releases без изменения JSON.

Исходный код и лицензия

Easygram — независимый проект, не связанный с командой Telegram. Основа приложения — Telegram для Android. Условия распространения исходного кода приведены в файле LICENSE.

About

Unofficial Telegram client with a custom video message recorder

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages