Razvojni programer ponovno je izradio tematski sustav Material You za Android 12

kdrag0n, programer ProtonAOSP ROM-a, objavio je vlastitu verziju "moneta", novog sustava temiranja temeljenog na pozadini za Android 12.

Sustav tematiziranja temeljen na pozadinama Material You, pod kodnim nazivom "monet", konačno je počeo živjeti Android 12 beta 2. Sustav temiranja stvara palete boja na temelju dominantne sheme boja vaše pozadine i primjenjuje ih na pločice Brzih postavki, zaključani zaslon, Postavke, skočne prozore i aplikacije. Međutim, u trenutnoj primjeni to je samo teme dio korisničkog sučelja sustava i odaberite aplikacije sustava. Većina aplikacija trećih strana ne podržava ovo dinamičko tematiziranje jer Google još nije objavio dokumentaciju o materijalu You. Iako ne znamo kada će Google objaviti resurse i biblioteke na Material You, Danny Lin (kdrag0n), programer ProtonAOSP ROM-a, pojavio se sa svojim vlastitim temama temeljenim na "monetu".

kdrag0nov pokretač tema radi baš kao "monet" i otvara Pixel-ekskluzivnu dinamičku temu za sve uređaje s Androidom 12 i nekim starijim verzijama Androida. kdrag0n je bio programer koji je prvi pokrenuo "monet" u ranim verzijama pregleda za razvojne programere Androida 12. Od tada je izvršio obrnuti inženjering Googleove implementacije i čak je davao povratne informacije članovima Googleovog SystemUI tima, posebice

James O'Leary (koji je čini se dio tima koji je razvio "monet" u Googleu).

Prema kdrag0n-u, njegova implementacija ne koristi nikakav kôd ili API-je iz Googlea ili Androida 12, tako da ne postoji ovisnost o uređajima koji pokreću Android 12 za korištenje njegovog modela. kdrag0n-ov mehanizam za teme slijedi ciljne boje Material You. Ovi ciljevi su tada “prebojan podešavanjem šarenila i nijansi u @bjornornornovom Oklab perceptualnom prostoru boja. Rezultirajuće boje preslikavaju se gamut u sRGB pomoću sjecišta gamuta u Oklab prostoru.” Korisnici također mogu promijeniti šarenilo i dati prednost šarenilu nad točnim nijansama.

kdrag0n-ov tematski mehanizam je otvorenog koda pod licencom MIT-a, što omogućuje prilagođenim programerima ROM-a (pa čak i OEM-ovima) da ga implementiraju ako to žele. Zapravo, vlastiti razvojni programer ProtonAOSP ROM će biti jedan od prvih koji će to implementirati kada se objavi izvorni kod za Android 12. Ako ste programer prilagođenog ROM-a, možete birati ove obvezuje i spojite ih u svoju građevinu.

Programer također radi na bibliotekama Jetpack Compose i Flutter, koje će čak i aplikacijama napravljenim za Android 11 omogućiti da podržavaju dinamičke boje. Aplikacije koje ciljaju starije verzije Androida mogu prijaviti slušatelja da dobijete obavijest kada se promijeni boja pozadine — kdrag0n kod je više namijenjen generiranju tema na temelju nove boje pozadine.

Kao primjer njegovog modela koji radi za aplikacije koje ciljaju Android 11, programer je s nama podijelio video u kojem demonstrira aplikaciju koja mijenja svoju temu svaki okvir pri 90 fps. Imajte na umu da je ovaj demo samo primjer onoga što se može učiniti i ne preporučuje se ponovno kreirati točno onako kako je prikazano.

Ovaj može imati veliki udarac u performansama i bateriji, iako razvojni Pixel 4 može renderirati promjene teme pri 90 fps za jednostavnije prikaze. Prema developeru, Jetpack Compose nije toliko optimiziran za performanse, a Flutter biblioteka bi mogla biti bolja. U svakom slučaju, njegovom motoru je potrebno samo 0,05 ms da generira temu, ali mijenjanje teme korisničkog sučelja svaki okvir svejedno opterećuje izvedbu.


Mishaal Rahman pridonio je ovom članku.