Google bi konačno mogao omogućiti prilagođene teme izgrađene na Sonyjevom RRO okviru

Android O Developer Preview ima misterioznu postavku teme zaslona. XDA je zaključio da se ovaj tematski okvir temelji na Sonyjevom RRO-u.

Ako već niste svjesni, Google je objavio drugi Android O Developer Preview (Android O DP2) tijekom jučerašnjeg I/O događaja. Već jesmo duboko zaronili u sve novo što smo do sada pronašli, ali postojala je jedna stvar u vezi s DP2 koja me mučila. Svi koji primili beta ažuriranje ili ručno bljeskali nove slike brzo su se susrele s a radikalno drugačije korisničko sučelje u brzim postavkama. Zašto je Google odlučio promijeniti temu? Nakon još malo testiranja i kopanja, došao sam do zaključka. Iz bilo kojeg razloga, Google je odlučio napraviti svoj "Izokrenuta" tema zadana tema; možda dok je tvrtka bila usred testiranje prilagođenog tematskog rješenja temeljenog na Sony Runtime Resource Overlay (RRO), nisu uspjeli pokrenuti zadanu Pixel temu na vrijeme za Android O Beta izdanje.

Zadana tema sustava u Android O Developer Preview 2

Otkriće da se tematski okvir za Android O temelji na Sonyjevom RRO-u može se nekima činiti očiglednim s obzirom da Google

implementirana podrška za RRO u Androidu 6.0 Marshmallow, iako je zahtijevao da imate rootan uređaj. Međutim, budući da izvorni kod za Android O nije objavljen, bila bi čista spekulacija sugerirati da je ova tema sustava u Androidu O zapravo RRO. Zato naš početno pokriće ovog tajanstvenog okruženja, kao i izvještavanje koje je napravio druge web stranice, nije uspostavio ovu vezu. Ali postoji nekoliko dokaza koji povezuju ovu značajku s tematskim okvirom za koji vjerujemo da bi to trebao uvjerljivo pokazati Tema uređaja Android O temelji se na RRO-u. Uz RRO podršku na brodu, ovo može napokon ponuditi rješenje za teme za neukorijenjene korisnike koje smo svi čekali.


Što je Runtime Resource Overlay (RRO)?

RRO je tematski okvir kreiran od strane Sonyjevih programera koji pokreće Sony Xperia teme. Ljepota RRO-a je u tome što vam omogućuje zamjenu resursa aplikacije bez potrebe za modificiranjem izvornog koda aplikacije. To se događa upotrebom preklapanja, koje sadrži vlastite nizove resursa koji se koriste za zamjenu resursa preklapane aplikacije dok se aplikacija učitava.

Za one od vas koji vide "RRO" i misle "Slojevi", prilično ste blizu. Layers je malo modificirana verzija Sonyjevog RRO-a, ali na osnovnoj razini radi vrlo slično. RRO/Layers "instalira" APK-ove teme u /system/vendor/overlay. Prilikom pokretanja, upravitelj paketa čita ove APK-ove, provjerava ih, a zatim koristi idmap da ga povežete u tablicu resursa sustava. Opširniji FAQ možete pročitati na SykoPompos, programer (sada zastarjelog) Upravitelj slojeva aplikacija

Snimke zaslona zastarjele aplikacije Upravitelj slojeva


Preporučena literatura: Kratka povijest temiranja: od OEM tema do RRO slojeva


Naravno, malo njih u Android prilagođenoj ROM zajednici još uvijek koristi tematski mehanizam temeljen na RRO-u. Većina je prešla na drugu temu kao što je Supstrat, što je evolucija slojeva sada temeljena na usluzi Overlay Manager (OMS). (Međutim, CyanogenMod Theme Engine (CMTE) bio je još jedan popularan tematski okvir njegova je budućnost još uvijek u zraku.) Međutim, čak i ako ne koristite prilagođeni ROM s OMS obvezama, Substratum theme engine app još uvijek podržava mogućnost korištenja tema "Substratum Legacy" koje su samo teme RRO/slojeva. Zbog toga su korisnici počeli shvaćati da su teme uređaja i RRO za Android O jedno te isto.


Google konačno uvodi tematski sustav putem RRO-a

Preko na odjeljak za komentare an AndroidPolice članak, XDA priznati programer Maxr1998 objavio je snimak zaslona tvrdeći da se teme Substratum Legacy prikazuju u Googleovom biraču tema uređaja.

S lijeve strane možete vidjeti popis preklapajućih APK-ova koje je Maxr1998 instalirao na Android O Developer Preview 1. Na desnoj strani možete vidjeti dva izbora tema u Android O Developer Preview 2. Prethodno u Android O DP1, dvije su opcije bile "Pixel" i "Inverted" s "Pixel" postavljenim kao zadanim, dok "Inverted" sliči izgledu i dojmu sivih tonova koji su zadani u O DP2.

Ali pažljivo pogledajte naziv zadane teme u O DP2. Zove se "android.auto_generated_rro." Doista vrlo čudno ime, ali uključivanje "RRO" u ime je ono što me navelo da povjerujem da je ovo doista Sonyjev RRO.

Tada sam pomislio, ako je ovo doista RRO, gdje drugdje mogu tražiti da to potvrdim? Te su me misli navele da provjerim /system/vendor/overlay, i kao što se očekivalo, doista postoje dvije APK datoteke smještene unutar: framework-res__auto_generated_rro.apk i PixelThemeOverlay.apk.

Oba odgovaraju nazivima tema u postavkama zaslona. Zanimljivo, kada odaberete temu Pixel u postavkama zaslona, ​​ona ne radi. Nisam stručnjak za razvoj RRO tema, pa ne mogu reći zašto Pixel tema ne radi, iako je izvođenjem rastavljanja APK-a obje aplikacije jasno da se one doista preklapaju aplikacije.

PixelThemeOverlay.apk Rastavljanje APK-a

[kartice][naslov kartice ="AndroidManifest.xml"]


package="com.google.android.theme.pixel" platformBuildVersionCode="25" platformBuildVersionName="O">
<overlayandroid: priority="1"android: targetPackage="android"/>
<applicationandroid: hasCode="false"android: label="@string/pixel_overlay_pixel"/>
manifest>

[/tab][naslov kartice = "strings.xml"]


<resources>
<stringname="pixel_overlay_pixel">Pixelstring>
resources>

[/tab][naslov kartice ="colors.xml"]


<resources>
<colorname="user_icon_1">#ff5e97f6color>
<colorname="user_icon_2">#ff5c6bc0color>
<colorname="user_icon_3">#ff26a69acolor>
<colorname="user_icon_4">#ffec407acolor>
<colorname="user_icon_5">#ff33ac71color>
<colorname="user_icon_6">#ff8bc34acolor>
<colorname="user_icon_7">#ffff9800color>
<colorname="user_icon_8">#ffff7043color>
<colorname="system_error">#ffea4335color>
<colorname="primary_device_default_dark">#ff2d2d2dcolor>
<colorname="primary_device_default_settings">#ff2d2d2dcolor>
<colorname="primary_dark_device_default_dark">#ff242424color>
<colorname="primary_dark_device_default_settings">#ff242424color>
<colorname="secondary_device_default_settings">#ff3a3a3acolor>
<colorname="tertiary_device_default_settings">#ff616161color>
<colorname="quaternary_device_default_settings">#ff9e9e9ecolor>
<colorname="accent_device_default_700">#ff3367d6color>
<colorname="accent_device_default_light">#ff4285f4color>
<colorname="accent_device_default_dark">#ff5e97f6color>
<colorname="accent_device_default_50">#ffe8f0fecolor>
resources>

[/tab]

[/tabs]

Ako obrano nad dokumentacijom RRO omogućio Sony, jasno je da bi ovo trebala biti RRO tema. U datoteci AndroidManifesta linija preklapanja označava da ovaj sloj cilja datoteku framework-res.apk ("android") i ima prioritet "1", što je najveći prioritet koji mu se može dodijeliti.

S druge strane, unutar datoteke framework-res__auto_generated_rro.apk nalazi se datoteka AndroidManifest.xml sličnog izgleda, ali postoji mnogo drugih nizova koji nisu povezani s temama. Ali to je lako objasniti činjenicom da je ova RRO tema u osnovi ogoljena verzija Framework-res.apk Google Pixela, za što sam zaključio da je istinit jer \res\values\bools.xml ima redak true za koju znam iz posta na našem forumu da je linija koju korisnici potrebno postaviti da bi omogućiti podršku za okrugle ikone u cijelom sustavu.


Zaključak

Moj tester još nije uspio ostvariti root pristup u O DP2 kako bi pokušao pokrenuti Substratum Legacy/RRO temu, ali s obzirom na moja vlastita otkrića i ona Maxr1998, sigurno je reći da Google se možda konačno sprema donijeti RRO tematiku masama.

Naravno, nema jamstva da ova značajka neće biti uklonjena u nekoj od kasnijih verzija Androida O. Moguće je da Google odluči da RRO ne radi onako kako bi želio i odbaci tu značajku. Međutim, s obzirom na opsežnu povijest RRO-a u rukama Sonya i naše vlastite razvojne zajednice, mnogi od nas već su upoznati s veličinom koja je Sonyjev Runtime Resource Overlay. A budući da već postoji gomila tema kompatibilnih s RRO-om, ako nam Google ikada odluči dopustiti instalaciju prilagođene teme, otvorit će vrata već širokom tržištu dostupnih tema u kojima korisnici mogu uživati.


Zasluge za istaknutu sliku: SonyDevWorld