Содержание статьи
Прошивки смартфонов многих производителей — это зачастую нечто гораздо большее, чем просто Android. Тот же Galaxy S4 просто-таки нафарширован различными функциями. С другой стороны, часто дополнительная функциональность оказывается настолько удачной, что возникает желание немедленно обратиться в Google с просьбой включить ее в ванильный Android. К счастью, даже если Google не ответит, всегда найдется приложение, повторяющее нужную функцию достаточно точно.
Предисловие
Поводом к написанию этой статьи стал анонс смартфона Moto X всем нам известной Моторолы. Одна из ее функций, а именно Active Display, которая выводила уведомления прямо на экран во время их появления или когда берешь смартфон в руку, настолько меня заворожила, что я взялся за поиски альтернативной реализации чего-то похожего для стокового Android. Сразу ничего, конечно, найти не удалось, но со временем в Google Play появилось несколько реализаций идеи, одна из которых оказалась очень даже неплохой; я приобрел платную версию и до сих пор с удовольствием использую приложение.
Позже появилось желание изучить мир прошивок других смартфонов и узнать, можно ли получить их функциональность в голом Android. Результаты этих изысканий предлагаются твоему вниманию.
Active Display
Начнем с того самого активного дисплея. Если ты пропустил анонс или обзор Moto X, то Active Display — это фоновый сервис, который при появлении нового уведомления (пришло письмо, сообщение, SMS) включает экран и выводит на него информацию о пропущенных событиях в лаконичном виде. Через некоторое время экран гаснет, но, когда берешь смартфон в руки, вновь загорается, так что нажимать кнопку включения вообще не нужно. Более того, если уведомление придет, когда телефон находится в кармане, дисплей загорится только после того, как ты достанешь его.
Это действительно очень удобный способ просмотра пришедших сообщений и уведомлений, который к тому же спасет смартфон от преждевременной смерти кнопки включения. Приложений, активирующих данную функцию в стоковом Android, пока только два, это Active Notify и DynamicNotifications. Причем, как оказалось, первое всего лишь пародия на Active Display, которая умеет включать экран во время возникновения событий, но не включает его при взятии смартфона в руки или при извлечении из кармана. Поэтому фактически реальная замена только одна.
Нужная функциональность есть только в платной версии DynamicNotifications, но она стоит всего один доллар, поэтому смело покупаем, устанавливаем и запускаем, после чего видим экран настроек. Включаем опцию Enable DynamicNotifications, ниже включаем опцию Auto-wake, которая как раз отвечает за умный показ уведомлений, а также по желанию опцию Night-mode, которая отключает активный дисплей на ночь (да, время можно настроить). Если речь идет об аппарате на Android 4.3, после запуска приложение также попросит предоставить ему доступ к уведомлениям и само перенаправит в нужный раздел настроек. Благодаря этой функции DynamicNotifications сможет показывать не только сам факт возникновения уведомления, но и подробности о нем.
![DynamicNotifications собственной персоной](https://xakep.ru/wp-content/uploads/2014/09/dynamicnotifications.jpg)
![](https://xakep.ru/wp-content/uploads/2013/11/cover-4-215x280.png)
Хакер #178. Mesh-сети или строим свой интернет
Далее смартфон можно спокойно использовать в повседневной жизни. Когда придет уведомление, экран загорится и позволит получить доступ к подробностям события и разблокировать устройство. Внутренние алгоритмы приложения достаточно хороши для того, чтобы, например, при извлечении из кармана экран всегда загорался, как положено. Если же смартфон лежит на столе, то доступ к уведомлениям можно получить, просто проведя ладонью поверх датчика приближения (чуть выше экрана). Если смартфон перевернуть, отключится активный дисплей.
![Обе реализации Active Display требуют доступа к системе уведомлений Android 4.3](https://xakep.ru/wp-content/uploads/2014/09/activedisplay.jpg)
Теперь о том, сколько батареи жрет софтина и как быть с не-AMOLED дисплеями. Простой ответ на первый вопрос: 2–4%. Сложный: в отличие от Moto X, в котором под активный дисплей отведено работающее на пониженных частотах ядро процессора, DynamicNotifications включается только тогда, когда есть сами уведомления, и только в это время он тратит батарею на слежение за датчиками приближения и положения, в остальное время процесс спит. Если включить в настройках приложения использование DynamicNotifications в качестве экрана блокировки, он будет бодрствовать всегда и съест примерно 20%. Нужно это тебе или нет, решай сам.
Что касается AMOLED, то историю с ним придумали те, кто не знал, как на самом деле работает активный дисплей в Moto X, и думал, что экран там горит вообще всегда. В данном случае тип дисплея не имеет практически никакого значения, и в Moto X с таким же успехом могли бы поставить матрицу IPS+.
Air Swiper
Я уже упоминал, как можно включать экран, проведя ладонью над датчиком приближения. По сути, это баг (который фича) DynamicNotifications, появившийся в результате работы алгоритма, отвечающего за включение экрана после извлечения из кармана. Однако если в данном приложении бесконтактные жесты всего лишь побочный эффект, то в некоторых прошивках и приложениях это полноценная функция, которой хвастается производитель.
![Первый, обучающий запуск Air Swiper](https://xakep.ru/wp-content/uploads/2014/09/airwiper1.jpg)
Например, в прошивках от компании Samsung бесконтактные жесты занимают далеко не последнее место среди других популярных функций. Здесь с их помощью можно включать и выключать смартфон, перелистывать страницы в браузере, переключать треки и принимать звонки. И смартфон даже умеет различать, какой именно стороной руки пользователь провел над датчиком: ладонью или ребром.
Большая часть этой функциональности — это обычный для Samsung рекламный ход, почти не имеющий практического применения (очень сложно представить человека, которому будет удобнее перелистывать страницы, махая рукой, чем проматывать пальцем), однако, как показал пример с DynamicNotifications, даже такая спорная идея, как бесконтактные жесты, может найти достойное применение.
В Google Play на тему бесконтактных жестов есть полностью бесплатное приложение под названием Air Swiper. Среди его возможностей:
- автоматическое включение экрана при получении SMS и открытие сообщения жестом;
- включение и выключение экрана жестом;
- включение беззвучного режима с помощью удержания руки над датчиком приближения;
- включение/выключение Wi-Fi и Bluetooth жестом.
![Настройки Air Swiper](https://xakep.ru/wp-content/uploads/2014/09/airwiper2.jpg)
Не знаю, будет ли вся эта функциональность удобна тебе, тут надо пробовать самому. Для себя я нашел только одну полезную функцию: включение экрана жестом. В конце концов, DynamicNotifications срабатывает только тогда, когда есть уведомления, а это приложение работает всегда. Оказалось, однако, что функция куда менее удобна, чем кажется. Для разблокировки устройства приходится проводить рукой не один, а целых три раза, что сделать правильно удается далеко не всегда. К тому же от случайного срабатывания трехразовый взмах также не защищает; телефон может разблокироваться, если, например, держа его в руке, пройти рядом с забором.
В общем и целом, Air Swiper — интересное приложение, но его полезность невысока, как, впрочем, и полезность аналогичной функциональности в фирменных прошивках.
Smart Stay
Еще одна разрекламированная функция прошивок от Samsung — это функция Smart Stay, которая появилась в Galaxy S3 и была предназначена для поддержания экрана включенным до тех пор, пока пользователь от него не отворачивался. В основе механизма лежал достаточно простой алгоритм, который периодически делал снимок фронтальной камерой и анализировал, открыты ли глаза пользователя. Да — тайм-аут отключения продлевается, нет — отключаем экран.
Функция действительно хорошо работала и имела успех у пользователей, поэтому в Galaxy S4 Samsung расширила ее и, по своей традиции, довела идею до абсурда. В частности, появилась функция включения паузы в видеоплеере при отведении взгляда от экрана (специально для просмотра порно, видимо), прокрутка страницы, когда взгляд достигает конца экрана в браузере (игра: успей прочитать последнюю строку) и отключение автоматического поворота экрана при наклоне устройства вместе с головой (мы же так любим читать, лежа на боку!).
Но как бы ни были абсурдны идеи, заложенные в S4, оригинальный Smart Stay действительно хорош. И неудивительно, что в Google Play появилось множество подражателей. Smart Stay Ex — один из них. Это небольшое приложение, которое делает ровно то, что оригинальная функция из третьего Galaxy, то есть просто не дает экрану погаснуть.
![Smart Stay Ex докладывает об успешном обнаружении открытых глаз](https://xakep.ru/wp-content/uploads/2014/09/smartstayex.jpg)
Все, что нужно сделать, чтобы получить эту функцию на своем смартфоне, — это просто установить и запустить приложение, включить его с помощью переключателя в верхней части экрана и выбрать опцию Start at boot. После этого в строке состояния появится значок приложения, который будет менять цвет в зависимости от ситуации: синий — экран не будет отключаться, серый — экран будет отключен через минуту, желтый — идет сканирование.
Приложение просыпается каждые несколько секунд (половина от системного тайм-аута блокировки) и делает снимок. Если результат анализа снимка будет положительным (глаза открыты), тайм-аут выключения экрана будет продлен, отрицательный — приложение заснет еще на несколько секунд и после второй неудачной попытки сканирования отключит экран. Количество попыток можно выбрать самостоятельно, от 1 до 5, но дефолтовое значение 2 здесь полностью оправданно. Даже в вечернее время Smart Stay Ex всегда правильно определяет состояние глаз, поэтому обычно достаточно только одной попытки.
Как вердикт: определенно must have, точная работа и минимальная, почти незаметная, нагрузка на батарею. Минус один: часто дает сбои ночью.
Quick Settings
Очередная знаменитая функция прошивок от Samsung — это так называемая панель быстрых настроек, небольшая плашка с кнопками включения/выключения Wi-Fi, звука, GPS и прочего, которая находится в верхней части «шторки». Изначально идея, конечно, была придумана и реализована не Samsung, а разработчиками CyanogenMod, а после этого растащена всеми кому не лень (например, AOKP, ParanoidAndroid, MIUI). В самом CyanogenMod она доступна начиная с древнего cm7, но если ты предпочитаешь использовать голый Android или фирменную прошивку производителя устройства, то получить нужную функциональность можно, установив Settings Extended.
По сути, все, что делает это приложение, — это создает в шторке те самые кнопки. Но есть и множество гибких настроек, с помощью которых можно определить количество и набор отображаемых кнопок, добавить вторую строку кнопок, а также определить их внешний вид и цвет. Последние две настройки, однако, доступны только в платной версии приложения, но ее цена всего один доллар. Также платная версия включает в себя дополнительные кнопки и возможность запуска других приложений.
Каких-либо проблем, связанных с работой кнопок и их поведением, свойственных другим подобным приложениям, в Settings Extended нет. Строка кнопок всегда отображается в верхней части панели, не съезжает вниз и не исчезает при очистке шторки. Кнопки срабатывают сразу после нажатия и не приводят к открытию каких-либо окон. Все работает ровно так, как и должно, но за это приходится платить тем, что приложение доступно только для Android 4.0 и выше (именно в четвертой версии появились все необходимые функции, позволяющие реализовать интерактивные уведомления).
В общем и целом — просто отличная альтернативная реализация оригинальной функциональности.
Многооконный режим
В прошивках LG и Samsung есть две разные в реализации, но одинаковые по назначению функции LG QSlide и Samsung Pop-Up Play. Это не что иное, как набор приложений (браузер, видеоплеер, калькулятор и так далее), которые умеют работать в обособленном плавающем окне, так же как в Windows например. Не совсем понятно, чем, кроме рекламы, руководствовались обе компании, включая такие функции в прошивки для смартфонов, но в планшете нечто подобное может быть очень и очень удобным.
![YouTube с плавающим окном](https://xakep.ru/wp-content/uploads/2014/09/youtube.jpg)
В Google Play подобных приложений довольно много. Причем, как оказалось, функциональность, позволяющая реализовать такой режим, есть в API Android, так что они не требуют ни прав root, ни каких-либо хаков вроде Xposed. Из наиболее примечательных можно назвать заметки Floating Stickies, веб-браузер OverSkreen, видеоплеер Stick It!, ютуб-плеер с длинным названием Floating YouTube Popup Video, клавиатуру A.I.type keyboard tablet, а также Tiny Apps — комплект из пяти приложений, в который входят:
- заметки с возможностью вставки, копирования и сохранения;
- простой диктофон;
- холст для рисования с возможностью сохранения и отмены;
- простой музыкальный проигрыватель;
- калькулятор с поддержкой сложных математических операций.
Уверен, что большинство из этих приложений не приживутся на твоем устройстве, а останутся разве что видеоплеер и клавиатура. У клавиатуры, кстати, есть три режима работы: обычная, плавающая и плавающая с разделением клавиш для правой и левой рук. В последнем режиме она будет состоять из двух разных блоков клавиш, расположенных в разных сторонах экрана, что существенно упрощает ввод текста, а к тому же не отнимает место у запущенного в данный момент приложения.
Что касается самой идеи, то, на мой взгляд, она во многом бесполезна. Экраны гаджетов не настолько велики, чтобы многооконность была оправданной.
LG Vu Talk
В прошивке смартфонов серии Optimus Vu II есть поддержка интересной технологии под названием LG Vu Talk. Это такой местный Paint, позволяющий во время звонка рисовать и делать заметки, которые сразу увидит собеседник. Очень даже полезная в некоторых ситуациях функциональность: можно быстро набросать схему или обсудить общую идею (синхронизация идет в обе стороны). Проблема только в том, что у собеседника тоже должен быть LG Optimus Vu, а вероятность этого довольно низка.
К счастью, в Google есть приложение с амбициозным названием SyncSpace Shared Whiteboard. По сути, тот же разделяемый Paint, за исключением того, что для установления связи между устройствами одного звонка будет недостаточно и придется отправить также ссылку. Зато работает везде и все, включая тот же Optimus Vu.
![Приложение SyncSpace Shared Whiteboard](https://xakep.ru/wp-content/uploads/2014/09/syncspace.jpg)
Пользоваться приложением просто, но интерфейс у него не очевиден. Нужно сделать следующее: установить софтину, запустить, открыть меню, выбрать пункт «Syncing…», а затем нажать «Start Syncing». После этого нужно снова открыть меню, опять выбрать «Syncing…», а далее нажать либо «Email Sync Link…», либо «Copy Sync Link» — и все. На другой стороне достаточно будет открыть ссылку, и приложение будет открыто автоматически.
Интеллектуальная регулировка громкости
Во многих прошивках, в том числе кастомных, есть две любимые пользователями функции. Это автоматическое включение беззвучного режима при перевороте устройства экраном вниз и возможность задать интервалы тихого времени, когда смартфон не будет издавать звуки. Это определенно полезная функциональность, которой почему-то нет в обычном Android. К счастью, ситуацию легко исправить с помощью сторонних приложений.
Лучшее из лучших среди приложений для выполнения подобных задач и всего, что связано с автоматизацией Android, — это Tasker. Это инструмент, который позволяет назначать те или иные действия в ответ на произошедшее событие (время, место, включение Wi-Fi, что угодно), но так как Tasker достаточно сложен в использовании и с наскоку в нем не разобраться, то я отправлю тебя прочитать большую статью об этом инструменте, которая уже была опубликована в нашем журнале, а вместо него расскажу о простых в использовании приложениях, которые делают ровно то, что нам нужно.
![Flip4Silence](https://xakep.ru/wp-content/uploads/2014/09/flip4silence.jpg)
Первое приложение — Flip4Silence. Это простой сервис, который реагирует на изменение показаний датчика положения и отключает звук при перевороте смартфона экраном вниз. В качестве дополнения приложение также умеет приглушать звук звонка, когда телефон будет взят в руки. Это тоже очень удобная и полезная функциональность.
![Auto Vibrate с предложением выбрать место и радиус срабатывания](https://xakep.ru/wp-content/uploads/2014/09/autovibrate1.jpg)
Второе приложение — Auto Vibrate. Приложение с двойной функциональностью. Позволяет отключать звук не только в определенные часы, но и в определенном месте. То есть можно, например, настроить приложение так, чтобы оно отключало звук на работе или в кинотеатре. Но это только в теории, на практике же GPS в помещениях может просто не сработать, так что всецело полагаться на приложение не стоит.
![Auto Vibrate и тихие часы](https://xakep.ru/wp-content/uploads/2014/09/autovibrate2.jpg)
![](/wp-content/themes/engine/img/info-icon.jpg)
INFO
В CyanogenMod отключение звука по времени можно настроить в меню «Звук -> Тихие часы».
Заключение
Конечно же, это не все фирменные функции, которые можно найти в прошивках тех или иных производителей смартфонов. За кадром остались камера-комбайн с огромным количеством бесполезных функций от Samsung, заметки поверх экрана от LG, функция приближения видео в плеере от Samsung и LG, Smart Actions от Motorola и многие другие. Большинство этих функций тебе никогда не понадобятся, а вот те, которые попали в статью, будут весьма полезны.