English · Русский
Easygram — неофициальный клиент Telegram для Android. Он основан на открытом коде Telegram и развивает привычный мессенджер дополнительными возможностями. Сейчас основное внимание уделено записи видеосообщений — «кружков».
На 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. Перед публикацией сборки замените тестовые значения и файлы конфигурации своими.
Новые сборки проверяют GitHub Releases напрямую. Релиз с флагом Pre-release предназначен для beta (io.github.webarmour.easygram.beta), обычный опубликованный релиз — для stable (io.github.webarmour.easygram). Черновики игнорируются. Проверка происходит при возобновлении приложения не чаще раза в час; вручную её можно запустить из настроек.
- Соберите
:TMessagesProj_App:assembleAfatDebugдля beta или:TMessagesProj_App:assembleAfatReleaseдля stable. Для stable используются параметрыEASYGRAM_RELEASE_*из локальногоlocal.properties. Сохраняйте ключ подписи каждого канала: Android разрешает обновление установленного приложения только APK с тем же пакетом и подписью. - Увеличьте
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. - Прикрепите один файл
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.
