Тематична система Material You на Android 12 е пресъздадена от разработчик

kdrag0n, разработчикът на ProtonAOSP ROM, пусна своя собствена версия на „monet“, новата тематична система на Android 12, базирана на тапети.

Базираната на тапет тематична система на Material You, с кодово име „monet“, най-накрая влезе в действие Android 12 бета 2. Системата за тематика създава цветови палитри въз основа на доминиращата цветова схема на вашия тапет и ги прилага към плочки за бързи настройки, заключен екран, настройки, изскачащи прозорци и приложения. Въпреки това, в сегашното си изпълнение, то само теми част от потребителския интерфейс на системата и изберете системни приложения. Повечето приложения на трети страни не поддържат тази динамична тематика, тъй като Google все още не е публикувала документацията за Material You. Въпреки че не знаем кога Google ще публикува ресурси и библиотеки на Material You, Дани Лин (kdrag0n), разработчикът на ProtonAOSP ROM, излезе със собствена тематична машина, базирана на "monet".

тематичен двигател на kdrag0n работи точно като „monet“ и отваря ексклузивната за Pixel динамична тематика за всички устройства, работещи с Android 12 и някои по-стари версии на Android. kdrag0n беше разработчикът, който за първи път накара „monet“ да работи в ранните компилации за предварителен преглед за разработчици на Android 12. Оттогава той е реконструирал внедряването на Google и дори е давал обратна връзка на членовете на екипа на SystemUI на Google, по-специално

Джеймс О'Лиъри (който изглежда е част от екипа, разработил "monet" в Google).

Според kdrag0n неговата реализация не използва код или API от Google или Android 12, така че няма зависимост от устройства, работещи с Android 12, за да се използва неговият модел. Механизмът за теми на kdrag0n следва цветните цели на Material You. Тези цели са тогава „преоцветен чрез регулиране на цветността и оттенъка в перцептуалното цветово пространство на Oklab на @bjornornorn. Получените цветове се преобразуват в sRGB чрез пресичане на гама в пространството на Oklab.“ Потребителите могат също да променят цветността и да я накарат да даде приоритет на цветността пред точните нюанси.

Механизмът за теми на kdrag0n е с отворен код под лиценза на MIT, което позволява на разработчиците на персонализирани ROM (и дори OEM) да го внедрят, ако желаят. Всъщност собствените на разработчика ПротонAOSP ROM ще бъде един от първите, които ще го внедрят, когато изходният код на Android 12 бъде публикуван. Ако сте персонализиран разработчик на ROM, можете да изберете череша тези ангажименти и ги обединете във вашата компилация.

Разработчикът също така работи върху библиотеки Jetpack Compose и Flutter, които ще позволят дори на приложения, създадени за Android 11, да поддържат динамични цветове. Приложенията, насочени към по-стари версии на Android, могат регистрирайте слушател за да получавате известия при промяна на цветовете на тапета — кодът на kdrag0n е предназначен повече за генериране на теми въз основа на новия цвят на тапета.

Като пример за неговия модел, работещ за приложения, насочени към Android 11, разработчикът сподели видеоклип с нас, демонстриращ приложение, което променя темата си на всеки кадър при 90 кадъра в секунда. Имайте предвид, че тази демонстрация е само пример за това какво може да се направи и не се препоръчва да се пресъздава точно както е показано.

Това може да има голям удар върху производителността и батерията, въпреки че Pixel 4 на разработчика може да рендира промените на темата при 90 кадъра в секунда за по-прости изгледи. Според разработчика Jetpack Compose не е оптимизиран за производителност толкова много и библиотеката Flutter може да е по-добра. Във всеки случай са необходими само 0,05 ms за неговия двигател, за да генерира тема, но въпреки това промяната на темата на потребителския интерфейс всеки кадър натоварва производителността.


Mishaal Rahman допринесе за тази статия.