kdrag0n, utvikleren av ProtonAOSP ROM, har gitt ut sin egen versjon av «monet», Android 12s nye bakgrunnsbaserte temasystem.
Material Yous bakgrunnsbaserte temasystem, kodenavnet «monet», gikk endelig i bruk Android 12 Beta 2. Temasystemet lager fargepaletter basert på det dominerende fargeskjemaet til bakgrunnsbildet ditt og bruker dem på Hurtiginnstillinger-fliser, låseskjerm, Innstillinger, popup-vinduer og apper. Men i sin nåværende implementering er det bare temaer del av systemets brukergrensesnitt og velg systemapper. De fleste tredjepartsapper støtter ikke dette dynamiske temaet siden Google ikke har publisert dokumentasjonen om Material You ennå. Selv om vi ikke vet når Google vil publisere ressurser og biblioteker på Material You, har Danny Lin (kdrag0n), utvikleren av ProtonAOSP ROM, kommet frem med sin egen temamotor basert på "monet".
kdrag0ns temamotor fungerer akkurat som "monet" og åpner det Pixel-eksklusive dynamiske temaet for alle enheter som kjører Android 12 og noen eldre Android-versjoner. kdrag0n var utvikleren som først fikk "monet" til å fungere i tidlige forhåndsvisningsbygg for Android 12-utviklere. Siden den gang har han reversert Googles implementering og har til og med gitt tilbakemeldinger til medlemmer av Googles SystemUI-team, spesielt
I følge kdrag0n bruker ikke implementeringen hans noen kode eller APIer fra Google eller Android 12, så det er ingen avhengighet av enheter som kjører Android 12 for at modellen hans skal brukes. kdrag0ns temamotor følger Material You-fargemål. Disse målene er da «omfarget ved å justere fargerikhet og nyanse i @bjornornorns Oklab perseptuelle fargerom. De resulterende fargene er gamut-kartlagt til sRGB ved bruk av gamut-kryss i Oklab-rom.» Brukere kan også endre fargerikhet og få den til å prioritere fargerikhet fremfor nøyaktige nyanser.
kdrag0ns temamotor er åpen kildekode under MIT-lisensen, og lar tilpassede ROM-utviklere (og til og med OEM-er) implementere den hvis de ønsker å gjøre det. Faktisk utviklerens egen ProtonAOSP ROM vil være en av de første som implementerer det når Android 12-kildekoden er publisert. Hvis du er en tilpasset ROM-utvikler, kan du velge cherry disse forplikter seg og flette dem inn i bygget ditt.
Utvikleren jobber også med Jetpack Compose og Flutter-biblioteker, som vil tillate til og med apper bygget for Android 11 å støtte dynamiske farger. Apper rettet mot eldre Android-versjoner kan registrere en lytter for å bli varslet når bakgrunnsfarger endres — kdrag0ns kode er mer ment for å generere temaer basert på den nye bakgrunnsfargen.
Som et eksempel på at modellen hans jobber for apper rettet mot Android 11, delte utvikleren en video med oss som demonstrerer en app som endrer temaet for hvert bilde med 90 bilder per sekund. Vær oppmerksom på at denne demoen bare er et eksempel på hva som kan gjøres og anbefales ikke å gjenskapes nøyaktig som vist.
Denne kan ha en stor hit på ytelse og batteri, selv om utviklerens Pixel 4 kan gjengi temaendringer med 90 bilder per sekund for enklere visninger. Ifølge utvikleren har ikke Jetpack Compose blitt optimalisert for ytelse så mye, og Flutter-biblioteket kan være bedre. Uansett tar det bare 0,05 ms for motoren hans å generere et tema, men å endre UI-temaet belaster likevel ytelsen for hver ramme.
Mishaal Rahman bidro til denne artikkelen.