A Google végre engedélyezheti a Sony RRO-keretrendszerére épített egyéni témákat

Az Android O Developer Preview egy titokzatos kijelzőtéma beállítással rendelkezik. Az XDA arra a következtetésre jutott, hogy ez a keretrendszer a Sony RRO-ján alapul.

Ha még nem tudna róla, a Google a tegnapi I/O esemény során kiadta a második Android O Developer Preview-t (Android O DP2). Mi már mélyen belemerültünk minden újdonságba, amit eddig találtunk, de volt egy dolog a DP2-vel kapcsolatban, ami zavart. Mindenki, aki megkapta a béta frissítést, vagy manuálisan villogott az új képek gyorsan találkoztak a gyökeresen eltérő felhasználói felület gyorsbeállításokban. Miért döntött úgy a Google, hogy megváltoztatja a témát? Néhány további tesztelés és ásás után arra a következtetésre jutottam. Bármilyen okból is, a Google úgy döntött, hogy elkészíti "Fordított" téma az alapértelmezett téma; talán amíg a társaság a közepén volt alapján egyedi tematikus megoldás tesztelése Sony Runtime Resource Overlay (RRO), nem tudták időben működésre bírni az alapértelmezett Pixel témát az Android O bétaverziójához.

Alapértelmezett rendszertéma az Android O Developer Preview 2-ben

Az a kinyilatkoztatás, hogy az Android O témarendszere a Sony RRO-ján alapul, nyilvánvalónak tűnhet egyesek számára, mivel a Google bevezette az RRO támogatását az Android 6.0 Marshmallow rendszerben, bár ehhez rootolt eszközre volt szükség. Mivel azonban az Android O forráskódját nem adták ki, puszta spekuláció lett volna azt sugallni, hogy ez az Android O rendszertémája valójában RRO. Ezért a miénk kezdeti fedezet erről a titokzatos környezetről, valamint az általa készített tudósításról más weboldalak, nem hozta létre ezt a kapcsolatot. De számos bizonyíték van arra vonatkozóan, hogy ez a funkció összekapcsolja a tematikus keretrendszerrel, amelyekről úgy gondoljuk, hogy ezt határozottan igazolniuk kell Az Android O eszköztémája az RRO-n alapul. RRO támogatással ez lehetséges végre biztosítjuk a témájú megoldást a gyökértelen felhasználók számára, amire mindannyian vártunk.


Mi az a Runtime Resource Overlay (RRO)?

Az RRO a Sony fejlesztői által létrehozott tematikus keretrendszer, amely hajtott Sony Xperia témák. Az RRO szépsége az, hogy lehetővé teszi az alkalmazás erőforrásainak cseréjét anélkül, hogy módosítani kellene az alkalmazás forráskódját. Ez egy átfedés használatával történik, amely saját erőforrás-karakterláncokat tartalmaz, amelyek az átfedő alkalmazás erőforrásainak cseréjére szolgálnak az alkalmazás betöltése közben.

Azok számára, akik látják az "RRO"-t, és a "Rétegekre" gondolnak, nagyon közel állnak hozzá. A Layers a Sony RRO-jának kissé módosított változata, de alapszinten nagyon hasonlóan működik. Az RRO/Layers „telepíti” a téma APK-it a /system/vendor/overlay mappába. Indításkor a csomagkezelő beolvassa ezeket az APK-kat, ellenőrzi, majd használja idmap hogy összekapcsolja a rendszer erőforrás táblájával. Egy alaposabb GYIK-ot itt olvashat SykoPompos, a (már elavult) fejlesztője Layers Manager kb.

Képernyőképek az Elavult Layers Manager alkalmazásról


Ajánlott irodalom: A témaalkotás rövid története: az OEM-témáktól az RRO-rétegekig


Természetesen az Android egyéni ROM közösségében még kevesen használnak RRO-n alapuló témamotort. A legtöbben átmentek egy másik tematikus motorra, mint pl Altalaj, amely a rétegek evolúciója, amely immár az Overlay Manager szolgáltatáson (OMS) alapul. (A CyanogenMod Theme Engine (CMTE) azonban egy másik népszerű témakör volt jövője még a levegőben van.) Azonban még ha nem is használ egyéni ROM-ot az OMS commitokkal, a Aljzat téma motor alkalmazás továbbra is támogatja a „Substratum Legacy” témák használatának lehetőségét, amelyek csak RRO/Layers témák. Emiatt a felhasználók kezdtek rájönni, hogy az Android O eszköztémái és az RRO egy és ugyanaz.


A Google végre bemutatja a témaválasztást az RRO-n keresztül

Rajta a megjegyzések szakasza egy AndroidPolice cikk, XDA elismert fejlesztő Maxr1998 közzétett egy képernyőképet, amelyben azt állítja, hogy a Substratum Legacy témák megjelennek a Google eszköztéma-választójában.

A bal oldalon a Maxr1998 által Android O Developer Preview 1 rendszerre telepített overlay APK-k listája látható. A jobb oldalon a két témaválasztás látható az Android O Developer Preview 2-ben. Korábban Android O DP1-ben, a két lehetőség a "Pixel" és az "Inverted" volt, a "Pixel" pedig az alapértelmezett, míg az "Inverted" az O DP2 alapértelmezett szürkeárnyalatos kinézetére és érzetére hasonlít.

De alaposan nézze meg az alapértelmezett téma nevét az O DP2-ben. A neve "android.auto_generated_rro". Valóban nagyon furcsa név, de az "RRO" névben való szerepeltetése miatt először azt hittem, hogy ez valóban a Sony RRO-ja.

Aztán arra gondoltam, hogy ha ez valóban RRO, hol máshol kereshetem ezt megerősíteni? Ezek a gondolatok vezettek a /system/vendor/overlay ellenőrzéséhez, és ahogy az várható volt, valóban két APK-fájl található benne: framework-res__auto_generated_rro.apk és PixelThemeOverlay.apk.

Mindkettő megegyezik a megjelenítési beállításokban szereplő témák nevével. Érdekes módon, ha kiválasztja a Pixel témát a megjelenítési beállításokban, az nem működik. Nem vagyok szakértő az RRO-témák fejlesztésében, így nem tudom megmondani, miért nem működik a Pixel téma, bár mindkét alkalmazás APK-lebontásának végrehajtásával egyértelmű, hogy ezek valóban fedvények alkalmazásokat.

PixelThemeOverlay.apk APK Teardown

[tabs][tab title ="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][tab title ="strings.xml"]


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

[/tab][tab title ="színek.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]

Ha átfut az RRO dokumentációja felett a Sony által biztosított, egyértelmű, hogy ez egy RRO téma. Az AndroidManifest fájlban a fedvénysor azt jelzi, hogy ez a fedvény a framework-res.apk fájlt ("android") célozza meg, és ennek prioritása "1", ami a legmagasabb prioritás, ami megadható.

Másrészt a framework-res__auto_generated_rro.apk fájlban egy hasonló megjelenésű AndroidManifest.xml fájl található, de sok más karakterlánc is jelen van, amelyek nem kapcsolódnak a témához. De ez könnyen megmagyarázható azzal, hogy ez az RRO-téma alapvetően egy lecsupaszított változata a Google Pixel framework-res.apk fájlja, amiről úgy gondoltam, hogy igaz, mivel a \res\values\bools.xml-ben van a sor true amelyről a fórumunkon megjelent bejegyzésből tudom, hogy olyan vonal, amelyet a felhasználók be kell állítani azért, hogy engedélyezze a Round Icon támogatását az egész rendszerre.


Következtetés

A tesztelőm még nem tudott root hozzáférést elérni az O DP2-ben, hogy megpróbálja futtatni a Substratum Legacy/RRO témát, de a saját és a Maxr1998 eredményei alapján nyugodtan kijelenthetem, hogy A Google végre készülhet arra, hogy az RRO-témakört a tömegekhez is eljuttassa.

Természetesen nincs garancia arra, hogy ez a funkció nem lesz megfosztva valamelyik későbbi Android O buildben. Lehetséges, hogy a Google úgy dönt, hogy az RRO nem úgy működik, ahogyan szeretné, és elhagyja a funkciót. Tekintettel azonban arra, hogy az RRO kiterjedt története a Sony és saját fejlesztői közösségünk kezében van, sokan már ismerik a Sony Runtime Resource Overlay nagyszerűségét. És mivel már rengeteg RRO-kompatibilis téma áll rendelkezésre, ha a Google úgy dönt, hogy engedélyezi a telepítést egyéni témák, megnyitják a zsilipeket az elérhető témák már amúgy is széles piaca előtt a felhasználók számára.


A szolgáltatás képei: SonyDevWorld