Содержание статьи
Многие годы я был ярым фанатом кастомных прошивок. В отличие от стока, они предлагали внушительный набор функций, многие из которых были просто незаменимы. Однако в последние годы я все меньше хочу каких-то доработок стокового Android и уже не желаю видеть новую функциональность в операционной системе. Почему это произошло и как Google удалось этого добиться?
Не претендуя на истину в последней инстанции, попробую суммировать мои впечатления от Lollipop, Marshmallow и Android N и сравнить современный Android с кастомными прошивками. Скажу сразу, что тонны настроек на любой вкус и цвет в кастомных прошивках меня никогда не интересовали. Причина, по которой я устанавливал кастомы, всегда была в наличии нескольких приятных функций и доработок. Среди них можно отметить модернизированную настраиваемую реализацию быстрых настроек, функцию Active Display (в OmniROM и Paranoid), круговые кнопки навигации PIE, движок тем, отображение процента заряда батареи и несколько других более мелких изменений. Обо всем этом мы и поговорим.
Быстрые настройки
Если мне не изменяет память, панель быстрых настроек в шторке появилась еще в CyanogenMod 7. Тогда она представляла собой нечто вроде стандартного виджета настроек, размещенного выше уведомлений. Очень скоро данную функцию интегрировали в свои прошивки многие производители смартфонов, а начиная с четвертой версии Android и сама Google.
Xakep #210. Краткий экскурс в Ethereum
Однако подход Google оказался довольно странным. Вместо того чтобы сделать «как все», они добавили кнопки настроек на дополнительную панель, доступную после нажатия кнопки в правом верхнем углу открытой шторки. Более того, кнопки не переключали настройки по нажатию, а вместо этого открывали меню настроек на нужном пункте. Для включения/выключения того же Wi-Fi необходимо было сначала открыть шторку, потом нажать на кнопку сверху, затем тапнуть по нужной плитке и лишь тогда тапнуть по переключателю в открывшемся окне настроек. Жутко неудобно.
К счастью, разработчики кастомов быстро все исправили, позволив включать/выключать настройки с помощью тапа, и добавили возможность менять расположение и набор плиток. Стоит отметить и появившиеся в Paranoid и OmniROM двойные плитки, вмещающие в себя сразу две смежные настройки (в OmniROM плитка переворачивалась, в Paranoid — просто переключалась), а также переписанную реализацию классической панели быстрых настроек в шторке в CyanogenMod 11 (она получила имя Quick Settings Ribbon).
Начиная с Lollipop, Google полностью сменила курс в отношении быстрых настроек и переписала все с нуля. Панель стала намного более полезной и научилась переключать настройки на месте, не кидая пользователя в меню. В ней появился долгожданный фонарик и кнопка включения Wi-Fi-роутера, доступ к панели стал более удобным. Однако и это было далеко от идеала, реализация быстрых настроек CyanogenMod 7 все равно оставалась намного более удобной, к тому же иконки нельзя было расположить по своему вкусу и убрать лишние.
Эти две проблемы Google решала больше года. Возможность изменить расположение иконок появилась в Marshmallow. Однако для обычных смертных она была отключена, и, чтобы получить к ней доступ, необходимо было долго удерживать значок шестеренки в шторке. После этого надо было открыть настройки и перейти в меню System UI Tuner. И только после этого иконки можно было изменить.
Наконец, с выпуском Android N компания сделала то, что было реализовано в кастомах еще шесть лет назад, — стандартную панель быстрых настроек в стиле CyanogenMod 7! Да еще и с возможностью управлять иконками прямо на месте без необходимости активировать скрытые меню. На этом вопрос быстрых настроек, висевший долгие годы, можно считать закрытым.
Уведомления
В CyanogenMod 11 и Paranoid Android 4.4 появилась так называемая функция Heads Up (в Paranoid она носила имя Hover), которая показывает пришедшее уведомление в виде небольшой плашки вверху экрана (на манер iOS). Не то чтобы какое-то грандиозное достижение, но функция действительно удобная и ожидаемая многими пользователями.
С Lollipop такая функция встроена в голый Android, причем вместе с множеством различных настроек уведомлений, которые раньше можно было найти только в кастомных прошивках. Теперь можно не только отключить уведомления от выбранного приложения, но и изменить его приоритет (отображать всегда наверху или стандартно), отключить показ в виде всплывающей плашки или показ на экране блокировки (об этом мы поговорим далее).
Механизм обработки уведомлений стал абсолютно вылизанным и законченным. Его тоже совсем не хочется менять и как-то модернизировать. Все на своих местах, все так, как и должно быть.
Экран блокировки
Я влюбился в мотороловскую функцию Active Display, как только впервые увидел ее в действии. И судя по тому, насколько быстро она перекочевала в кастомы и сторонние приложения, таких, как я, оказалось много. Без специального сигнального процессора в смартфоне она, конечно, не производила такого впечатляющего эффекта, как оригинал из Moto X, но даже в кастрированном варианте оказалась очень удобной.
С Android 5.0 компания Google решила сделать функциональность Active Display стандартной, встроив его (в несколько измененном виде) прямо в операционку. Официально это называется «Уведомления на экране блокировки», но по сути это все тот же Active Display, стилизованный под аналогичную функцию из iOS. Когда приходит уведомление, оно размещается на экране блокировки, а сам смартфон пробуждается, так что владелец может увидеть сообщение. Его можно смахнуть или открыть приложение.
В целом очень удобная функция, которая по неизвестной причине не была реализована намного раньше.
Кастомизация строки состояния
Возможность изменения строки состояния — одна из самых популярных и востребованных функций кастомных прошивок. Многим юзерам просто не нужны некоторые иконки, а другие хотелось бы изменить. Теперь такая возможность, пусть и в несколько ограниченном варианте, есть в Marshmallow. Доступна она через все тот же System UI Tuner и позволяет отключить некоторые иконки, а также включить показ процента заряда батареи (его, кстати, можно было активировать еще в KitKat, но для этого приходилось править базу данных системных настроек, для чего нужен root).
Регуляция цветовой температуры экрана
Доказано, что яркий свет холодных оттенков (а именно такой испускает экран смартфона) приостанавливает выработку гормона мелатонина, ответственного за погружение организма в сон, а кроме того, приводит к чрезмерной нагрузке на глаза в темное время суток. Чтобы уменьшить такой эффект, рекомендуется понижать цветовую температуру экрана до более теплых оттенков (примерно 4500 К).
Данную рекомендацию довольно легко выполнить на компе, просто установив приложение f.lux или RedShift. Они оба умеют регулировать температуру экрана в течение дня, основываясь на твоем географическом положении и времени года. В смартфонах данная функция тоже есть, она появилась в iOS 9.3 (Night Shift) и CyanogenMod 13, а также доступна в приложении СF.lumen и f.lux для Android (оба требуют root).
Google уже пыталась внедрить данную функцию в Marshmallow (через все тот же System UI Tuner), но в последний момент удалила ее. Теперь она появилась в Android N и, скорее всего, будет доступна как стандартная опция в окончательной версии ОС. Главное, чтобы Google опять не передумала.
Многооконный режим
Многооконный режим уже давно доступен в смартфонах Samsung, но работает только в отношении предустановленного софта. Такую же функцию в свое время рекламировали разработчики Paranoid Android, однако на этапе тестирования пришли к выводу, что она создает гораздо больше проблем, чем решает, — многие приложения просто не могли работать с изменяемым размером окна.
И вот наконец Google внедрила функцию как официальную. Первая тестовая версия многооконного режима доступна в Marshmallow, а в Android N она стала штатной, причем в том числе в форме полноценного рабочего стола с плавающими окнами (так же как в Remix OS). Справедливости ради стоит сказать, что многие приложения не будут с ней работать и разработчики должны сами позаботиться об адаптации своих творений к новому режиму.
Темы
Поддержка тем — одна из главных изюминок кастомных прошивок. Впервые движок тем появился еще в CyanogenMod 7, а затем перекочевал в прошивку MIUI и многие другие. В современных версиях CyanogenMod темы меняют не только интерфейс ОС, но и анимацию загрузки, иконки, звуки, обои и шрифты. Однако Google добавлять темы в Android не хочет, и ее вполне можно понять — не разрешать же ломать свой собственный фирменный стиль.
Зато они добавили патчи от Sony, позволяющие изменять системные ресурсы и ресурсы любых приложений. Данный механизм называется RRO (Runtime Resource Overlay) и уже доступен в пятой и шестой версиях Android. А задействовать его можно с помощью приложения Layers Manager. Достаточно установить нужную тему и перезагрузиться... прощайте, кастомы.
Smart Lock
Честно говоря, не уверен, что в каком-то кастоме есть подобная функциональность, но так или иначе ее следовало бы добавить. Smart Lock — это механизм, позволяющий автоматически отключать защиту на экране блокировки (пароль или графический ключ), когда поблизости есть доверенное Bluetooth-устройство или когда находишься в определенном месте.
Например, Smart Lock можно настроить на отключение экрана блокировки дома или тогда, когда смартфон подсоединен к умным часам или магнитоле в автомобиле. Ну или и то и другое. В будущем Google вроде как обещает добавить дополнительные условия срабатывания функции.
Выводы
Да, в чистом Android до сих пор нет некоторых функций, таких, например, как возможность центрирования часов в строке состояния или отключения кнопок навигации. Однако все это мелочи, которые совсем не мешают использованию смартфона. Последние версии Android включают в себя почти все, что нужно, и там, где это нужно. А дополнительную функциональность можно добавить с помощью твиков Xposed.