Skip to content

Android Screen Timer 1.4.4

Choose a tag to compare

@alexaistudio alexaistudio released this 04 Sep 10:44
· 12 commits to main since this release

История версий

1.4.4 — 2026-09-04

  • Устранён опасный USB-сброс: подключение флешки, зарядки, телефона, мыши, клавиатуры или другого USB-устройства больше не выключает таймер, не удаляет PIN и не очищает настройки.
  • USB Recovery теперь реагирует только на файл Recovery, Recovery.txt или File Recovery в корне смонтированной флешки; регистр букв и размер файла не важны. Файл открывает родительский режим без удаления конфигурации или снятия Device Owner.
  • В настройках добавлена галочка Разрешить USB Recovery. Если она выключена, даже правильный файл полностью игнорируется.
  • Блокирующий overlay получил два состояния в одном и том же окне. Обычный чёрный экран принимает шестизначный временный код и автоматически добавляет установленное родителем время; удержание Back восемь секунд либо семь нажатий в левом верхнем углу переключают этот же overlay в синий режим родителя.
  • Синий режим принимает постоянный PIN или одноразовый аварийный четырёхзначный код и позволяет вручную выбрать 10, 15, 20, 30, 40, 60, 90 или 120 минут либо открыть полноценные настройки. Второй overlay не создаётся, поэтому родительское управление не может оказаться под экраном блокировки.
  • При первой настройке создаётся отдельный четырёхзначный аварийный код. Хранится только его PBKDF2-хеш, успешное использование удаляет код, три неудачные попытки включают 30-минутную задержку, а новый код можно создать в настройках.
  • Старый режим спрашивать каждый раз безопасно мигрирует на автоматические 15 минут: временный код, который родитель сообщает ребёнку, больше не открывает выбор продолжительности.
  • В ручной выбор и настройки автопродления добавлены 90 и 120 минут.
  • После включения экрана служба выполняет дополнительные отложенные проверки, а потерянная ссылка на overlay восстанавливается, чтобы блокировка надёжно возвращалась после сна телевизора или планшета.
  • Ещё раз уменьшены поля, кнопки, переключатели, отступы и элементы выбора приложений; восемь вариантов продления расположены компактной сеткой по две кнопки.
  • Оба APK обновлены до 1.4.4; полная история 1.0.2–1.4.3 сохранена ниже и включается в единое описание релиза.

1.4.3 — 2026-09-04

  • Журнал «Родительского установщика» теперь начинается с отдельного блока IMPORTANT RESULTS, где невозможно потерять главный итог среди сетевых проверок: сохраняются точные IP и порт целевого устройства, успешное сопряжение, успешное ADB-подключение, имя устройства и итог установки.
  • Успешная установка записывается однозначной строкой SUCCESS: APP INSTALLED с адресом IP:порт, package ID dev.tvtimer.app, реальным ответом Android Package Manager (Success) и результатами настройки Accessibility, Device Owner и отключения беспроводной отладки.
  • Ошибки сопряжения, подключения и установки также вынесены наверх с адресом цели, этапом операции, классом исключения и сообщением; отсутствие найденных устройств фиксируется как отдельный результат после полного завершения поиска.
  • Каждое нажатие Найти, Сопрячь, Подключить и INSTALL записывается до валидации данных. Кнопка INSTALL больше не остаётся «мёртвой» до подключения: нажатие всегда даёт понятное сообщение и фиксирует INSTALL NOT STARTED с причиной, если ADB-соединения ещё нет.
  • Полная хронология никуда не исчезла: ниже остаются все NSD/mDNS-события, TCP-запросы и ответы, ADB-команды, ответы устройства, прогресс APK и stack trace. Основной журнал ограничен 512 КиБ, отдельный итоговый — 64 КиБ; старые записи вытесняются автоматически.
  • Каждый экспорт содержит точное поле exportedAt, поэтому видно, до какого момента журнал успел записаться. Для более надёжного обнаружения ADB/mDNS на прошивках и телефонах, фильтрующих multicast, на время десятисекундного поиска берётся и гарантированно освобождается Android Wi‑Fi MulticastLock.
  • На телефоне родителя убраны QR-страницы журнала: они неудобны и там не нужны. Оставлены выделяемый полный текст, «Скопировать всё», обновление и сохранение настоящего .txt через системный выбор папки. QR-диагностика сохранена только в самом ограничителе для TV и других целевых устройств, где перенос текста иначе затруднён.
  • Главный экран и инструкция теперь явно разделяют два разных пути. Wi‑Fi — полноценная установка прямо с телефона по четырём коротким шагам; USB — отдельный путь через флешку или компьютер, без ложного обещания работы обычного кабеля телефон ↔ TV. Порт сопряжения из окна шестизначного кода и порт подключения с главного экрана «Беспроводной отладки» объяснены отдельно на реальном примере их разного назначения.
  • Настройка контроля экрана теперь не только отправляет ACCESS_RESTRICTED_SETTINGS allow, но и сразу читает фактический AppOp обратно. В важном блоке появляется SUCCESS: RESTRICTED SETTINGS ALLOWED либо точный warning с IP/портом и ответом прошивки.
  • В стартовый журнал добавлены target SDK и состояние требования Android 17 ACCESS_LOCAL_NETWORK, чтобы новая политика локальной сети не маскировалась под ошибку поиска. Установщик по-прежнему target SDK 35, поэтому на Android 17 отдельное runtime-разрешение для него не требуется.
  • Сценарий проверен по живому Wi‑Fi ADB на Haier Android TV FF Pro с Android 14: устройство рекламирует разные порты сопряжения и подключения, а причиной отката Accessibility подтверждён системный AppOp ACCESS_RESTRICTED_SETTINGS: deny, успешно меняющийся через ADB на allow.
  • Оба APK обновлены до 1.4.3; полная история 1.0.2–1.4.2 сохранена ниже и включается в единое описание релиза.

1.4.2 — 2026-09-03

  • «Родительский установщик» теперь всегда ведёт подробный постоянный журнал: запуск процесса, поток выполнения, все этапы NSD/mDNS, системные errorCode, каждую TCP-проверку IP:5555, сопряжение, подключение, ADB shell-команды, полные ответы устройства, передачу APK, настройку и stack trace ошибок.
  • Журнал записывается в приватный файл и переживает перезапуск приложения. Размер ограничен 512 КиБ: при заполнении удаляется только самая старая часть, поэтому журнал не расходует память бесконечно.
  • На главном экране добавлена кнопка «Полный журнал запросов и ответов». В отдельном окне доступны полный выделяемый текст, обновление и постраничные QR-коды.
  • Добавлены «Скопировать всё» и «Сохранить .txt» через стандартный системный выбор папки или облачного хранилища Android.
  • Необработанные аварийные завершения записываются глобальным crash handler ещё до открытия главного экрана.
  • Шестизначный код сопряжения, приватный ADB-ключ и бинарное содержимое APK принудительно исключаются из журнала; локальные IP, сведения об устройстве, команды и ответы сохраняются для полноценной диагностики.
  • Добавлены тесты безопасного удаления секретов и разбиения Unicode-журнала на QR-страницы. Оба APK обновлены до 1.4.2; полная история предыдущих обновлений сохранена ниже и включается в объединённое описание релиза.

1.4.1 — 2026-09-03

  • Исправлено аварийное завершение «Родительского установщика» на Android 17 и других прошивках, которые возвращают результаты NSD/mDNS с системного ConnectivityThread: все изменения интерфейса теперь гарантированно выполняются в главном UI-потоке.
  • Исправление действует и для кнопки поиска, и для сценария сопряжения по Wi‑Fi, поскольку оба использовали один поток обнаружения устройств.
  • Добавлена защита от запоздалых callback после остановки поиска; состояние остановки безопасно видно системному и UI-потоку.
  • Кнопка и инструкция теперь прямо говорят «по Wi‑Fi / сети». Уточнено, что прямой USB-ADB с телефона требует режима USB-host/OTG на телефоне и ADB peripheral-интерфейса у целевого устройства; обычные USB host-порты телефона и телевизора напрямую не соединяются.
  • Оба APK обновлены до 1.4.1; полная история предыдущих обновлений сохранена ниже и включается в объединённое описание релиза.

1.4.0 — 2026-09-03

  • Добавлен второй APK AndroidScreenTimer-Parent-1.4.0.apk — самостоятельный мобильный «Родительский установщик» без Bugjaeger, компьютера и root.
  • Установщик находит Android-устройства через стандартные ADB mDNS-объявления и дополнительно проверяет старый сетевой ADB на порту 5555 в локальной /24 сети; для роутеров без mDNS оставлен ручной ввод IP и портов.
  • Поддержано системное сопряжение Android 11+ по свежему шестизначному коду, обычная авторизация ADB-ключа и подключение к уже сопряжённым устройствам.
  • APK ограничителя собирается первым и автоматически встраивается в соответствующую debug/release-сборку мобильного установщика; пользователь получает два независимых APK, но установщику не нужна отдельная загрузка блокировщика.
  • Кнопка INSTALL передаёт APK по официальному ADB package-install протоколу, проверяет установленный package ID и открывает Android Screen Timer на целевом устройстве.
  • По выбору родителя установщик добавляет Accessibility-службу, не затирая TalkBack и другие включённые службы, пробует разрешить Restricted Settings и проверяет фактический результат.
  • Отдельная выключенная по умолчанию опция пробует назначить Device Owner только после явного предупреждения о новом/сброшенном устройстве; отказ прошивки не отменяет обычную установку.
  • Современная беспроводная отладка по умолчанию выключается после успешной установки; для старого OEM-переключателя сетевой отладки показывается понятное напоминание.
  • В мобильном мастере есть русский и английский интерфейс, универсальные инструкции отдельно для TV/Google TV и телефона/планшета, а также честные запасные пути для старых устройств без Wi‑Fi ADB.
  • README больше не предполагает наличие меню ⋮ → Разрешить ограниченные настройки на каждом телевизоре: описаны мобильный ADB-путь, прямой APK и ограничения, которые обычное приложение обойти не может.
  • Основной ограничитель обновлён до 1.4.0 (versionCode 11); полная история 1.0.2–1.3.2 сохранена ниже и включается в объединённое описание релиза.

1.3.2 — 2026-09-03

  • Исправлена настройка контроля экрана: приложение открывает карточку именно своей Accessibility-службы, при необходимости ведёт на «О приложении» для разрешения Restricted Settings и показывает результат после возврата.
  • Добавлен полноценный локальный диагностический журнал запуска, подключения, отключения, ошибок overlay и аварийных завершений. Журнал ограничен по размеру, не содержит PIN, TOTP-секрет, аккаунты, сеть или историю просмотра.
  • Весь сохранённый журнал доступен в настройках как пронумерованные QR-страницы для переноса на телефон; также его можно скопировать одной кнопкой.
  • Ошибка при подключении Accessibility больше не валит службу молча: запуск выполняется безопасно и автоматически повторяется до трёх раз с записью точной причины.
  • Настройки, полноэкранное меню родительского кода и окно выбора приложений получили центрированную безопасную ширину с правильными парными отступами; уменьшены заголовки, тексты, кнопки, поля, переключатель языка и PIN-клавиатура, убрано увеличение элементов при фокусе.
  • В отдельном окне выбора теперь отображаются реальные иконки установленных приложений и системная запасная иконка для недоступных пакетов.
  • QR-код на самом первом экране уменьшен до 220 dp и не занимает больше трети высоты; повторный родительский QR в настройках остаётся немного крупнее.
  • В верхнюю часть русского и английского README добавлен пользовательский poster.jpg; документация дополнена новой диагностикой и точным способом включения Restricted Settings.
  • Версия APK повышена до 1.3.2 (versionCode 10); полная история предыдущих обновлений сохранена ниже и включена в объединённое описание релиза.

1.3.1 — 2026-09-03

  • Публичное название проекта обновлено до «Родительский контроль — Android Screen Timer».
  • Основной GitHub-репозиторий переименован в alexaistudio/parental-control-android-screen-timer; ссылки, бейджи, About и встроенная проверка обновлений переведены на новый адрес.
  • Новый APK называется AndroidScreenTimer-1.3.1.apk; User-Agent, Gradle project name, тема, log-теги и имя default TV-баннера приведены к бренду Android Screen Timer.
  • Старый адрес перенаправляется GitHub на новый репозиторий. Из-за строгой проверки прежнего URL версии до 1.3.1 при необходимости следует один раз обновить вручную; версии 1.3.1+ получают следующие обновления из нового репозитория.
  • dev.tvtimer.app, подпись APK и прежние внутренние ID намеренно сохранены, чтобы приложение обновилось поверх установленного и не потеряло PIN, QR-секрет, лимиты и статистику.
  • Полная история предыдущих версий сохранена ниже и повторяется в объединённом описании GitHub Release без потери деталей.

1.3.0 — 2026-09-03

  • TV Timer получил новое понятное имя Android Screen Timer и теперь официально поддерживает Android TV, Google TV, планшеты и телефоны.
  • Интерфейс адаптирован к узким сенсорным экранам: QR-код, PIN-поля, длинные кнопки, системные отступы и отдельное окно выбора приложений больше не выходят за границы.
  • Защитное окно стало прокручиваемым, корректно перестраивается после поворота и не считает время, пока телефон находится на экране блокировки.
  • Количество встроенных профилей имени и значка увеличено с 3 до 10: Android Screen Timer, Калькулятор, Медиа-служба, Часы, Погода, Заметки, Календарь, Файлы, Галерея и Справка.
  • Для каждого нового профиля добавлены собственные значок, локализованное название и TV-баннер.
  • Внизу настроек и в обоих README добавлен добровольный блок поддержки разработки через USDT TRC-20: проверенный QR-код, сеть TRON, адрес и кнопка копирования.
  • Сохранены прежние package ID, подпись, настройки, QR-секрет, PIN, лимиты и внутренние идентификаторы старых профилей, поэтому версия устанавливается как обычное обновление.
  • README и описание проекта обновлены для телевизоров, планшетов и телефонов; все разделы истории 1.1.0–1.2.0 сохранены ниже полностью, без потери деталей.

1.2.0 — 2026-09-02

  • Добавлен полный английский интерфейс наряду с русским.
  • Компактный переключатель RU / EN доступен уже на первом QR-экране, при каждом открытии приложения, в настройках и в отдельном окне выбора приложений.
  • Переключатель языка добавлен на все полноэкранные защитные окна: ввод PIN/TOTP-кода, детское напоминание, выбор продления и защита системных настроек.
  • Выбранный язык сохраняется локально и применяется к настройке, статусам, ошибкам, обновлению, PIN-панели и accessibility-overlay без передачи данных в сеть.
  • Launcher-профили, название accessibility-службы и описание Device Admin получили системные русские и английские ресурсы.
  • README дополнен коммерческим двуязычным хедером, понятным описанием пользы, кнопкой загрузки и актуальными GitHub-бейджами; добавлен отдельный полный README.en.md.
  • Полностью сохранены функции 1.1.0–1.1.2: QR для нескольких родителей, пятиминутный ввод кода с пульта, варианты продления, отдельный выбор приложений, детские напоминания, маскировка и защита удаления.

1.1.2 — 2026-09-02

  • В настройках добавлены отключаемые напоминания ребёнку каждые 10, 20 или 30 минут фактического просмотра.
  • Сообщение сделано коротким и понятным: «Ты уже смотришь N минут. Продолжить?» с действиями «Да, продолжить» и «Нет, закончить».
  • «Нет, закончить» возвращает на главный экран телевизора; «Да, продолжить» возобновляет таймер до следующего интервала.
  • Подтверждённые предупреждения сохраняются по дням и не повторяются после перезапуска службы или телевизора.
  • Полностью сохранены возможности 1.1.0 и 1.1.1: TOTP на нескольких телефонах, пятиминутные коды, отдельный выбор приложений, варианты продления, защита удаления и launcher-профили.

1.1.1 — 2026-09-02

  • В настройках можно повторно показать действующий QR-код и добавить тот же TOTP-аккаунт на телефоны нескольких родителей без смены секрета и аннулирования уже подключённых телефонов.
  • Выбор контролируемых приложений вынесен на отдельный TV-экран.
  • Нажатие системной кнопки Back в окне выбора немедленно сохраняет отмеченные приложения и возвращает в настройки; длинный список больше не растягивает основную страницу.
  • Полностью сохранены все функции версии 1.1.0: пятиминутные TOTP-коды, варианты продления, защита удаления, Device Owner и launcher-профили.

1.1.0 — 2026-09-02

  • Добавлена уникальная QR-привязка телефона при первой настройке и поддержка стандартных TOTP-приложений.
  • Каждый 30-секундный код принимается до пяти минут без накопления кэша в памяти.
  • После кода родителя можно выбрать 10, 15, 20, 30, 40 минут или 1 час; в настройках доступно автоматическое значение либо выбор при каждом продлении.
  • Все системные настройки и установщик закрываются кодом родителя.
  • Добавлена поддержка Device Owner, которая системно запрещает удаление TV Timer; USB-восстановление снимает защиту.
  • Добавлены launcher-профили «TV Timer», «Калькулятор» и «Медиа-служба» с отдельными иконками и TV-баннерами.
  • QR/TOTP, новые варианты продления, маскировка и защита удаления покрыты unit-тестами; обновлена документация установки.

1.0.2 — 2026-08-15

  • Восстановлен фокус на первой цифре после неверного PIN на TV-пульте.