Het Material You-themasysteem van Android 12 is opnieuw gemaakt door een ontwikkelaar

kdrag0n, de ontwikkelaar van ProtonAOSP ROM, heeft zijn eigen versie van "monet" uitgebracht, het nieuwe op achtergronden gebaseerde themasysteem van Android 12.

Materiaal You's op wallpapers gebaseerde themasysteem, met de codenaam 'monet', is eindelijk live gegaan Android 12 Bèta 2. Het themasysteem maakt kleurenpaletten op basis van het dominante kleurenschema van uw achtergrond en past deze toe op tegels voor snelle instellingen, vergrendelscherm, instellingen, pop-ups en apps. In de huidige implementatie is dit echter alleen het geval thema's maken deel uit van de systeeminterface En selecteer systeemapps. De meeste apps van derden ondersteunen dit dynamische thema niet, omdat Google de documentatie over Material You nog niet heeft gepubliceerd. Hoewel we niet weten wanneer Google bronnen en bibliotheken op Material You zal publiceren, heeft Danny Lin (kdrag0n), de ontwikkelaar van ProtonAOSP ROM, zijn eigen thema-engine op de markt gebracht, gebaseerd op "monet".

de thema-engine van kdrag0n

werkt net als "monet" en opent het Pixel-exclusieve dynamische thema voor alle apparaten met Android 12 en enkele oudere Android-versies. kdrag0n was de ontwikkelaar die voor het eerst 'monet' liet werken in vroege preview-builds voor ontwikkelaars van Android 12. Sindsdien heeft hij de implementatie van Google reverse-engineered en zelfs feedback gegeven aan leden van het SystemUI-team van Google, met name James O'Leary (die deel lijkt uit te maken van het team dat 'monet' bij Google heeft ontwikkeld).

Volgens kdrag0n gebruikt zijn implementatie geen code of API's van Google of Android 12, dus er is geen afhankelijkheid van apparaten met Android 12 om zijn model te kunnen gebruiken. De thema-engine van kdrag0n volgt Material You-kleurdoelen. Deze doelen zijn dan “opnieuw gekleurd door de kleurheid en tint aan te passen in de perceptuele kleurruimte van @bjornornorn in Oklab. De resulterende kleuren worden in het gamma toegewezen aan sRGB met behulp van gamut-kruising in de Oklab-ruimte.” Gebruikers kunnen de kleurigheid ook wijzigen en prioriteit geven aan kleurigheid boven nauwkeurige tinten.

De thema-engine van kdrag0n is open-source onder de MIT-licentie, waardoor aangepaste ROM-ontwikkelaars (en zelfs OEM's) deze kunnen implementeren als ze dat willen. In feite van de ontwikkelaar ProtonAOSP ROM zal een van de eersten zijn die het implementeert wanneer de Android 12-broncode wordt gepubliceerd. Als u een aangepaste ROM-ontwikkelaar bent, kunt u de keuze maken deze verplichtingen en voeg ze samen in uw build.

De ontwikkelaar werkt ook aan Jetpack Compose- en Flutter-bibliotheken, waardoor zelfs apps die voor Android 11 zijn gebouwd, dynamische kleuren kunnen ondersteunen. Apps die zich richten op oudere Android-versies kunnen dat wel registreer een luisteraar om een ​​melding te krijgen wanneer achtergrondkleuren veranderen - de code van kdrag0n is meer bedoeld voor het genereren van thema's op basis van de nieuwe achtergrondkleur.

Als voorbeeld van zijn model dat werkt voor apps die zich richten op Android 11, deelde de ontwikkelaar een video met ons waarin hij een app demonstreerde die elk frame met 90 fps van thema veranderde. Houd er rekening mee dat deze demo slechts een voorbeeld is van wat er kan worden gedaan en dat het niet wordt aanbevolen om deze precies opnieuw te maken zoals weergegeven.

Deze kan een grote impact hebben op de prestaties en de batterij, hoewel de Pixel 4 van de ontwikkelaar themawijzigingen met 90 fps kan weergeven voor eenvoudiger weergaven. Volgens de ontwikkelaar is Jetpack Compose niet zo veel geoptimaliseerd voor prestaties en is de Flutter-bibliotheek misschien beter. Hoe dan ook, het duurt slechts 0,05 ms voordat zijn engine een thema genereert, maar het veranderen van het UI-thema bij elk frame belast de prestaties niettemin.


Mishaal Rahman heeft bijgedragen aan dit artikel.