Три уровня защиты
ToolBox выстроил вокруг этой проблемы несколько уровней защиты. Разберём, как они работают и где заканчиваются.
Предупреждение
Самое простое. Когда вы открываете системные настройки Android через ToolBox, программа сразу показывает предупреждение. Смысл в том, чтобы человек понимал, куда попал. Штатные настройки машины — климат, звук, подсветка — безопасны полностью. Системные настройки Android лежат глубже, и там есть параметры, трогать которые нельзя.
Резервные копии ключей
Мы уже изучили логи с уже случившихся чёрных экранов — не один и не два. В них обнаружились характерные признаки: определённые изменения системных ключей, после которых машина гарантированно не загрузится. Зная эти признаки, ToolBox делает резервные копии тех ключей, которые должны оставаться неизменными всегда.
Контроль изменений
Копии сами по себе бесполезны, если никто не следит за оригиналами. Поэтому программа сверяет ключи с сохранённым состоянием. Если она видит, что ключи изменились, дальше возможны два сценария: ToolBox либо предложит восстановить их из резервной копии, либо предупредит, что после ближайшей перезагрузки будет чёрный экран.
Окно, которое даёт время
Второй вариант работает благодаря одной особенности проблемы.
Чёрный экран не появляется в момент ошибки. Человек поменял настройку — и ничего не произошло, система продолжает работать. Проблема проявляется только после перезагрузки устройства.
Обычно это коварная деталь: связь между действием и последствием теряется, человек уже забыл, что менял. Но для защиты это окно оказывается спасительным. Между ошибкой и её последствиями есть время, и ToolBox использует именно его.
Где защита заканчивается
Здесь нужна честность, и разработчик её не избегает.
Предупреждение работает только внутри ToolBox. А в системные настройки Android можно попасть и другим путём.
Типичный пример: Яндекс Навигатор при запросе расширенных разрешений сам предлагает перейти в настройки Android. Так делают многие приложения — когда им нужны особые права, они отправляют пользователя в системное меню.
В этот момент ToolBox не стоит рядом и не может вас остановить. Контроль ключей продолжает работать, но предупреждения «вы входите в опасную зону» не будет.
Вторая страховка: резервная копия настроек
Отдельно от истории с ключами в ToolBox есть резервное копирование — настройки машины, настройки самого приложения и сценарии сохраняются на флешку или в облако.
Это страховка другого рода. Она не спасает от чёрного экрана, но избавляет от долгого восстановления после сброса настроек или переустановки: не нужно заново собирать сценарии, настраивать приборы и вспоминать, какие твики были включены.
Нюанс, о котором стоит знать заранее: выбранный готовый фон приборки в копию попадает, а своя картинка с флешки — нет. Её придётся поставить заново.
Третья страховка: проверка того, что скачано
ToolBox проверяет версию при каждом запуске и ставит обновление одной кнопкой, сверяя скачанный файл. Смысл очевидный: подменённый или битый файл не должен установиться на машину.
Что защита не отменяет
Список того, чего нельзя делать, остаётся коротким и неизменным:
- Не ставить PIN-код, графический ключ или любой пароль на вход в систему.
- Не добавлять новых пользователей Android.
- Не менять параметры, связанные с шифрованием и доступом.
Начиная с версии 1.45 вероятность поймать чёрный экран очень низкая. Но «очень низкая» — не то же самое, что «нулевая», и предосторожность дешевле восстановления.
Если всё-таки случилось
Дилер предложит только замену блока за ваш счёт. Альтернатива — обратиться к разработчику @di_dream или к Алексею Кузнецову @AlexeyKuznets: восстановление делается очно в Туле или Санкт-Петербурге либо удалённо, если есть ноутбук, хороший интернет и специальный кабель.
Стоимость зависит от причины.
Почему это стоит внимания
Защитные механизмы — самая незаметная часть программы. У них нет своего экрана и своей кнопки, они не попадают в списки возможностей.
Заметны они ровно один раз: когда предупреждение появляется вовремя.
Подробнее о самой проблеме — в статье про чёрный экран.