Включите функцию Always On Display Google Pixel 2 на Nexus 6P, Pixel и Pixel XL без рута

Мы узнали, как включить новую функцию «Всегда на дисплее» Google Pixel 2 на Nexus 6P, Google Pixel и Pixel XL без необходимости использования root-прав!

Google Пиксель 2 и Пиксель 2 XL являются новейшими смартфонами в серии смартфонов Google Pixel, и хотя аппаратное обеспечение в основном представляет собой Это постепенное улучшение по сравнению с телефонами Pixel предыдущего поколения, в программном обеспечении есть несколько действительно изящных новые возможности. В телефоне используется новая технология камеры. Функция портретного режима, функция распознавания постоянно прослушиваемой музыки под названием Сейчас играети функцию «Всегда на дисплее». К сожалению, ни одна из этих функций не появится в предыдущих смартфонах Google, по крайней мере официально. Ранее мы показали, что на Pixel 2 можно включить функцию Always on Display на Pixel 2. через кастомное ПЗУ, но недавно мы обнаружили, что это возможно включить Always On Display на Nexus 6P, Pixel и Pixel XL без рута.

Изображение предоставлено: Младший участник XDA InFlames03


Функция Always On Display теперь может быть включена благодаря Android 8.1 и Substratum.

Ранее мы сообщали, что невозможно включить функцию Always on Display на любом старом телефоне Google. Это потому, что Google жестко запрограммировал функцию, которая позволяет Always on Display всегда возвращать false. Так было при выпуске исходного кода для Android 8.0 Oreo, но с выпуском версии это уже не так. Предварительная версия Android 8.1 Oreo для разработчиков 1.

Как показано на скриншотах выше, функция, отвечающая за определение того, включать или нет Always on Display, ранее возвращала только «false». В последнем Конфигурация AmbientDisplay код, однако теперь он проверяет логическое значение конфигурации, называемое "config_dozeAlwaysOnDisplayAvailable", что Google считает верным для Pixel 2 и Pixel 2 XL, но неверным для всех остальных телефонов, которые они производят.

Если быть более конкретным, Google использует наложение фреймворка, установленное в /vendor/overlay, под названием framework-res_auto_generated_rro, чтобы указать значение этой конфигурации. Поскольку это наложение фреймворка основано на OverlayManagerService (OMS), мы можем создать собственное наложение фреймворка для заставить config_dozeAlwaysOnDisplayAvailable вернуть «истину» на Nexus 6P, Pixel и Pixel XL.

Это возможно, поскольку OMS, фреймворк тем, созданный Sony, изначально интегрировано, начиная с Android Oreo. Благодаря этому мы можем использовать встроенные команды для управления и установки собственных тем:все без необходимости рута. При этом разработчики узнали, как получить популярный Менеджер тем Substratum работаю на устройствах Android Oreo. Таким образом, чтобы заставить работать Always on Display, мы будем использовать менеджер тем Substratum с его плагином Andromeda. чтобы установить нашу специальную оверлейную структуру на Nexus 6P, Pixel и Pixel XL.

Наконец, есть еще одна путаница, на которую я хочу обратить внимание, а именно тот факт, что мы используем так называемый «движок тем», чтобы включить скрытую функцию. Хотя для установки тем обычно используется Substratum, правильнее называть эти темы «ресурсными». наложения». Это потому, что эти «темы» указывают значения, которые заменяют исходные ресурсы их цели. приложение. Обычно наложения ресурсов просто заменяют значения цвета в исходном приложении, но они также могут ориентироваться на целые числа, строки или логические значения в ресурсах приложения. Некоторые существующие наложения Substratum используют это для настроить экран блокировки, экран последних приложений и быстрые настройки например.

В любом случае, надеюсь, вы лучше понимаете, что мы собираемся делать. Следуйте приведенному ниже руководству, чтобы включить Always On Display с Pixel 2 на телефонах Google Pixel первого поколения, а также на Nexus 6P.


Как включить функцию «Всегда на дисплее» Google Pixel 2 на Nexus 6P, Pixel и Pixel XL

Требования:

  • Nexus 6P, Google Pixel или Google Pixel XL. Nexus 5X подойдет, но использовать его не рекомендуется из-за отсутствия OLED-экрана.
  • Предварительная версия Android 8.1 Oreo для разработчиков 1. Вы можете найти файлы прошивки здесь.
  • Лицензия на Плагин Andromeda от Substratum ($1.99). Без этого вы не сможете установить созданный нами оверлей фреймворка. По крайней мере, не легко.

Руководство

Особая благодарность младшему члену XDA. InFlames03 за помощь в обнаружении этой функции, ее тестировании и, наконец, предложение оверлея фреймворка для загрузки. Посмотрите его новый Орео и Свежий темы.

  1. Настройте Substratum и его плагин Andromeda. Вы можете следить этот урок до тех пор, пока не закончите часть 1.
  2. Установите APK AlwaysOn-enabler от AndroidFileHost или Приложение Pixel Enabler из магазина Google Play. Первый представляет собой просто базовое наложение, которое включает эту функцию, а второй в будущем будет включать в себя больше функций.
  3. Откройте Substratum и найдите "Всегда включенный активатор» от Sai в списке тем. Нажмите на него.
  4. Нажать на "выберите, чтобы переключить все наложения."
  5. Нажмите на кнопка плавающего малярного валика.
  6. Выбирать "Создать и включить."
  7. Перезагрузить.
  8. Откройте «Настройки» -> «Дисплей». Развернуть "Передовой"категория и нажмите "Окружающий дисплей."
  9. Вы должны увидеть "Всегда включен" переключать. Отключите и снова включите его. Наслаждайтесь всегда на дисплее!

Кроме того, вы можете посмотреть следующее видео, в котором описаны основные шаги, необходимые для включения Always On Display. Видео было снято старшим участником XDA. экбирвин на своем Google Pixel XL под управлением Android 8.1 Oreo. Обратите внимание, что мы по-прежнему рекомендуем перезагрузиться, хотя на видео перезагрузка не показана.

Предостережения

Nexus 6P, Pixel и Pixel XL по умолчанию не поддерживают функцию «Всегда на дисплее», поскольку их экраны не настроены должным образом для перехода в режим пониженного энергопотребления, как экраны Pixel 2. Таким образом, использование этого наложения для включения Always on Display можно считать хаком, поскольку здесь есть свои оговорки. Мы не использовали это в течение длительного периода времени для измерения энергопотребления или других потенциальных проблем, но на данный момент мы столкнулись с следующими проблемами:

  • Нажатие кнопки питания для выхода из режима «Всегда на дисплее» прямо на экране блокировки не работает. Приходится дважды нажать кнопку питания.
  • Двойное нажатие для выхода из режима «Всегда на дисплее» прямо на экран блокировки не работает. Вам придется дважды нажать дважды (4 нажатия).
  • Иногда на этапе разблокировки может появиться серый экран.

У вас не возникнет ни одной из вышеперечисленных проблем, если вы разблокируете телефон с экрана «Всегда на дисплее» с помощью сканера отпечатков пальцев. Если вы столкнулись с какой-либо из перечисленных выше проблем, простая повторная блокировка и разблокировка с помощью отпечатка пальца также может решить эту проблему.

Заключение

Мы подозреваем, что перечисленные выше проблемы связаны с неправильным переходом дисплея из состояния «Всегда на дисплее» в состояние «Включен экран», и ищем возможные исправления. Возможно, эти проблемы никогда не будут исправлены, или они могут быть случайно исправлены в будущей версии Developer Preview. Наш самый большой страх заключается в том, что Google увидит, что мы делаем, и снова жестко запрограммирует Always On Display. Мы надеемся, что этого не произойдет, но это, безусловно, возможно. А пока наслаждайтесь функцией Always On Display в Google Pixel 2, пока можете!