Адаптація інтерфейсу під колір шпалер перестане бути ексклюзивом pixel з виходом android 12.1

21

До виходу android 12 залишилося всього пара тижнів, але операційна система google за традицією спочатку буде доступна тільки для смартфонів pixel, а вже через деякий час — для інших пристроїв. Ймовірно, будуть потрібні місяці, щоб виробники змогли впровадити в свої смартфони всі нововведення android 12, але деякі з них спочатку будуть відсутні в релізі зважаючи ексклюзиву для pixel. Сама примітна функція, яка не з’явиться в aosp — – це нове оформлення під кодовою назвою “monet”, яке адаптує тему інтерфейсу під колірний тон фонової картинки. Однак ексклюзивною ця функція буде недовго, її вихідний код відкриють з випуском android 12.1.

Як відомо, android 12 представить найзначніше оновлення інтерфейсу з моменту випуску android 5.0 lollipop в 2014 році. Крім нового дизайну material you, однією з ключових функцій стане вищезгадана “monet”. За даними google, механізм вилучення кольору, який використовує алгоритм кластеризації, визначає домінуючі кольори шпалер. Після цього створюється палітра з 5 кольорів-2 нейтральних і 3 акцентних, а також 12 колірних варіантів, які використовуються для визначення найбільш близьких до встановлених шпалер відтінків. Всі ці значення зберігаються в індексі, який додатки можуть викликати через api. Це дозволяє їм теж підлаштовувати свій інтерфейс під шпалери.

Коли google вперше представила функцію “monet”, було неясно, чи зможуть samsung, xiaomi, oppo та інші виробники мати до неї доступ. Розробник під ніком kdrag0n, який розблокував цю функцію в бета-версії android 12, зазначив, що базова модель вилучення кольору і модель колірного оформлення вже мають відкритий вихідний код, в той час як алгоритм aosp для постобробки близький до пропрієтарного рішення google. А це ключова частина процесу створення динамічної теми.

На щастя, google готова випустити вихідний код для цього алгоритму. Відповідні зміни, згідно з джерелами, внесені в гілці android 12-sv2. Наведені нижче скріншоти були взяті з пристрою, на якому встановлена внутрішня aosp-збірка android 12.1.