Kuinka alusta toi enemmän valinnanvaraa joustamattomaan TouchWiziin

click fraud protection

Sungstratum tiimiltä [projekt.] tuo kaikki RRO-OMS: n teemaherkut Samsung Nougat -laitteisiin Substratumin kautta! Lue lisää saadaksesi lisätietoja!

Android-teema on edennyt pitkälle, hakkerista muokkauksista alustaan ​​ja nyt Sungstratum. Vuosia sitten Android-keskusteluissa sana "teema" korvattiin usein sanalla "chooser", nyökkäys CyanogenModista löytynyt T-Mobile Theme Chooser, joka loi perustan, joka teki Androidista teeman paratiisi. Mahdollisuus muokata käyttöjärjestelmän ulkonäköä antoi käyttäjille toisen ulottuvuuden mukauttamiseen, jolloin he voivat tehdä muutoksia, jotka tekevät laitteistaan ​​paljon yksilöllisempiä.

Hyvä työ jatkui kahteen eri suuntaan. Teemanvalitsin kehittyi CyanogenMod-teemamoottoriksi, mutta huolimatta vuosien ponnisteluista teemaresurssien parissa, CMTE vanhentui. kun muita vaihtoehtoja ilmaantui.


RRO & Layers

Yhden vaihtoehdon perusta luotiin, kun Sonyn koodipanos uuden kehyksen muodossa kutsui Runtime Resource Overlay (RRO) hyväksyttiin AOSP: hen. Tämä kehys tarjoaa mahdollisuuden korvata sovellusresursseja ajon aikana (tämä nimi). "Peittokuvat" itsessään ovat olleet läsnä ja tuettu Androidissa jo Gingerbreadista (ja ehkä myös aikaisemmin), jota käytetään ensisijaisesti resurssien vaihtamiseen, jotta sovellukset toimisivat juuri kyseisellä alueella laite. Sonyn lähestymistapa RRO: hun sisälsi resurssienhallinnan muokkaamisen hyväksymään APK: t, jotka käyttivät resursseja, jotka oli kartoitettu muihin laitteessa oleviin vastaaviin resursseihin. Nämä apk: n uudet resurssit peitettiin sitten perusresurssien päälle vain ajon aikana, mikä antoi järjestelmän toimia ikään kuin nämä uudet resurssit olisivat aina olleet osa sitä.

RRO-kehys yhdistettiin AOSP: hen ennen kuin Lollipop 5.0 julkaistiin, mutta muutamassa alkuperäisessä 5.0:n koontiversiossa osa viitekehyksestä katkesi muiden muutosten takia. Android 6.0 Marshmallow's Developer Previews oli ensimmäinen, joka lisättiin toimivaan, vaikkakin rajoitettuun RRO-kehykseen, joka avaa muokattavuuden ovet suoraan Android-varastotasolla. Joten ellei OEM ole tietoisesti yrittänyt poiketa Android-teemavaihtoehdoista, tietty "teemoja" koskevassa lähestymistavassa voitaisiin säilyttää johdonmukaisuuden taso Android.

AOSP: n leikkiessä RRO: n kanssa ja etsiessään parasta tapaa yhdistää se kaikki, kehittäjäryhmä ns. BitSyko työskenteli yhdessä yhteisen ponnistelun parissa nimeltä "Kerrokset". Tasoilla laajennettiin Android 5.1 Lollipop -käyttöjärjestelmän RRO-varastotoimintoja, jotta resurssien vaihtaminen olisi monimutkaisempaa ja teemojen elementtien hallinta on mahdollista enemmän kuin varastossa olevalla RRO: lla. Koska Layers rakennettiin ylöspäin RRO: lle, ROM-valmistajien oli lisättävä ylimääräistä koodia Layers-toiminnallisuuden mahdollistamiseksi ROM-levyissään, koska kaikki Layers-teemat eivät toimisi Marshmallowin varastossa olevassa RRO: ssa.

Sillä välin Sony marssi omin ponnisteluin kohti Android-teemaa. Se alkoi toimia OMS (Overlay Manager Service), peittokuvien hallintaohjelma, jonka avulla palveluntarjoajat voivat dynaamisesti hallita prioriteetteja ja ottaa käyttöön ja poistaa käytöstä peittokuvia. OMS yhdistetään AOSP: hen, ja se tulee tiensä Android O: han. XDA: n tunnustettu kehittäjä nicholaschum pystyi vahvistamaan lähteensä kautta, että Android O: ssa on "dynaamisia peittokuvia", joiden uskotaan viittaavan OMS: ään.

OMS aiheutti ristiriitoja Tasojen kanssa, koska perinteisesti tällaiset toiminnot olivat teeman hallinnassa. Käsitelläkseen OMS: n esiin tuomia ongelmia ja laajentaakseen Layersin toimintoja BitSyko liittyi jälleen yhteen (ja nimesi itsensä uudelleen [projekti.]) luoda Alusta. Substratum on asiakas, jossa on OMS-toiminnot joka yrittää sovittaa Layers-toiminnallisuuden yhteen OMS: n kanssa ja lainaa myös muita elementtejä muista aiemmista teemaratkaisuista. Peittokuvia ei enää asetettu päällekkäin yksittäisten elementtien teemaa varten, koska nyt kaikki tarvittavat elementit ruiskutettiin yhteen peittokuvaan. Ominaisuudet, kuten käännös laitteella, mahdollistivat teemojen käyttämisen ilman uudelleenkäynnistystä muutosten välillä. merkittävästi loppukäyttäjien on helpompi kokeilla teemoja ja kokeilla. Substratumia on kehitetty aktiivisesti alusta alkaen ja listattu kaikki sen ominaisuudet ja lisätyt toiminnot eivät kuulu tämän artikkelin piiriin, joten siirrymme tämän todelliseen aiheeseen pala.


Alusta Sungstratumiin

Kuten edellisessä osiossa selitettiin, Substratum aloitti tavan laajentaa varaston OMS-toimintoja sekä varaston RRO-toimintoja (tasojen kautta). Substratum oli tarkoitettu käytettäväksi AOSP-pohjaisten ROM-levyjen rinnalla, koska useimmat muut OEM-valmistajat olisivat tehneet ristiriitaisia ​​muutoksia joka ei salli Substratumin esiintymistä rinnakkain niiden muutosten kanssa muokatussa UX-skinissä, kuten Samsungin esimerkki.

Samsung itse työskenteli myös teemaratkaisun parissa käytettäväksi omissa laitteissaan Nougatissa. Toisin kuin Sony, Samsung ei osoittanut kiinnostusta palauttaa teemakoodia AOSP: lle. Mutta koska Samsungin ratkaisu oli melko yksinkertainen, AOSP ei todellakaan hävinnyt paljon. Samsungin Touchwiziin leivottu teemaratkaisu ilmestyi todellisuudessa Samsung Galaxy S6:ssa, mutta kuten mainittiin, se oli melko rajoitettu siinä, mitä se voisi yrittää saavuttaa. Sitä ennen Galaxy Alphalla aloitettiin rajoitettu kokeilu, vaikka useimmat järjestelmän käyttöliittymäelementit olivat sen soveltamisalan ulkopuolella. Teemat voivat vaihtaa taustakuvia ja kuvakkeita sekä muutamia Samsungin varastossa olevia sovelluksia, kuten esimerkiksi kellotaulu, yhteystiedot, viestit ja ilmoitusalue.

Kuten käy ilmi, Samsungin teemamoottori ulottuu RRO kuten löytyy AOSP: stä. Samsung loi myös oman sisäisen OMS-versionsa uudelleen RRO: n laajentamisen jälkeen, joten niiden sekä RRO- että OMS-toteutukset eroavat AOSP: stä. Mutta yllättäen, ei kovinkaan suurella määrällä - epänormaalia käytöstä, kun ottaa huomioon Touchwizin erottuvuuden ja monimutkaisuuden. Samsungin uudempia lippulaivoja käyttäneet teemat ilmoittivat voivansa asentaa RRO-peittokuvia ja saada ne teemaan kolmannen osapuolen sovelluksia.

Tämä oli vihje, jonka tiimin [projekt.] täytyi tutkia Samsung-laitteiden virallisen tukemisen suhteen Substratumissa. Tiimi muunsi pienen määrän koodia sovelluksensa RRO/Legacy-osiosta, mutta sen sijaan pyytäen pääkäyttäjää ja uudelleenkäynnistystä, he käynnistivät tietyt tavoitteet, jotta peittokuvat asennetaan. Tämän jälkeen tiimi työskenteli varmistaakseen, että teemojen kautta vaikuttavat sovellukset pakotettiin sulkemaan taustalla, jotta resurssit päivitetään kokonaisuudessaan seuraavan käynnistyksen yhteydessä.

Kysyimme XDA Recognized Developerilta nicholaschum antaaksemme meille näkemyksiä haasteista, joita tiimi kohtasi työskennellessään Samsungin suljetun lähdekoodin RRO-OMS-toteutusta vastaan:

Kohtaamamme haasteet olivat melko hämäriä ja tuntemattomia monille, joilla ei ole paljon tietoa Teemajärjestelmien ymmärtäminen, olipa se sitten avoimen tai suljetun lähdekoodin lähde – kaikella on oma kokeiluversionsa ja virhevaihe. Tässä tapauksessa Samsungin kanssa työskennellessäni törmäsin moniin ongelmiin, mutta suurin niistä oli järjestelmän tarkoitus ammuttu peittokuvaksi asennuksen jälkeen - esimerkiksi käyttämällä lähetysvastaanottimia "android.intent.action. PACKAGE_ADDED” – teemapalvelu kieltää kaiken, mikä ei ole osa järjestelmän allekirjoitusta tietyn Samsungin kanssa teemapalvelun luvan vastaanottamisesta, joten vaikein osa on kiertotavat, joihin meidän piti löytää tapa noin.

Käytämme Substratumia Samsungin Theme Enginen rinnalla käyttämällä samaa järjestelmää kuin he. Ne käyttävät Sonyn Resource Runtime Overlay -järjestelmän pitkälle muokattua versiota, lyhennettynä RRO tai tunnetaan perinnönä Substratumin käyttäjien keskuudessa. Erona on kuitenkin se, että Samsung-teemoilla on ylimääräinen lupa, joka piilottaa nämä peittokuvat asetuksista, joten et voi poistaa niitä yksitellen manuaalisesti. Käytämme samaa järjestelmää, mutta hyödynnämme AOSP: n/Sonyn toteutusta, minkä vuoksi Samsung Themes voi täydentää teemakehyksen. Alustan peittokuvat eivät voi koskettaa välittäjäkohdetta, jota ei ole olemassa "fwk" - kuten me kaikki tiedämme, kehys on vain "android"-paketti nimi.

Tuntui oudolta, että [projekt.] pystyi työskentelemään Samsungin RRO-toteutuksen rinnalla suhteellisen helposti. Jokainen, joka on koskaan työskennellyt Samsung-laitteiden parissa, voi todistaa, kuinka vaikeaa Samsung usein tekee asioista. Tiedustelimme mitä tahansa tiettyä estoa, jonka joukkue kohtasi portin aikana:

On todellakin olemassa jonkinlainen suojamekanismi, joka vaikutti muutamiin käyttäjiin - jossa peittokuvat palautuvat käynnistyksen yhteydessä. Tämä johtuu tavasta, jolla Samsung käynnistää laitteensa. Koska olemme useimmiten 7.0:ssa TouchWiz/Samsung Experiencessa, käytämme uutta "sovellusten optimointia" (näet tämän, kun päivität puhelimesi, se näyttää ilmoituksen Android Nougat -kuvakkeella, jossa sanotaan, että se päivitetään taustalla), joten tämä tapa optimoida sovelluksia myös purkaa kohteen paketteja, mikä lopulta häiritsee idmapping-prosessia käynnistyksen yhteydessä (koska kohdepakettia ei ole olemassa), ja siksi muutamat ihmiset kokevat peittokuvan purkamisen käynnistä uudelleen.

Voit myös nähdä tämän tapahtuvan myös muutamilla Samsung-teemoilla, erityisesti @envy~:n Dark/Black-teemalla - hän muuttaa navigointipalkin oletusvärin Näyttö -> Navigointipalkissa mustaksi, missä todellinen oletusväri on valkoinen. Kun olet asettanut sen mustaksi, voit avata näppäimistön ja navigointipalkki pysyy mustana. Tämä palautetaan satunnaisesti uudelleenkäynnistyksen yhteydessä myös monilla laitteilla.

Mitä suunnitelmia Substratumilla on Sungstratumin kaltaisilla sivuhaaroilla, kun teema on jälleen nousemassa esiin?

Edessämme on, että yhdistämme pienen pienen sovelluksen lisäosaamme nykyisille käyttäjillemme, jotta he tekevät niin pystyvät pysäyttämään Samsungin teemapalvelun, jos kaikki heidän laitteisiinsa asennetut teemat on asennettu XDA. Joten ihmiset, jotka käyttävät Samsung-teemamuotoiltuja teemoja XDA: sta, voit käyttää lisäosaa estääksesi Samsungin palvelu palauttaa sen takaisin varastoteemaan jokaisen uudelleenkäynnistyksen jälkeen (koska sitä ei asennettu Samsung Storesta virallisesti). Se vaatii ilmaisen Samsung-kehittäjäavaimen, joka on saatavilla heidän sivustoltaan, mutta se toimitetaan valmiiksi ladattavan sungstratum-lisäosan kanssa.


Äskettäisten ja tulevien AOSP- ja Android O -muutosten myötä näyttää siltä, ​​​​että Googlen kerran syntyvä käyttöjärjestelmä välittää käyttäjälle entistä enemmän personointia. Tietyt OEM-valmistajat suunnittelevat jopa luopuvansa mukautetuista käyttöliittymistä ja UX-lisäyksistä AOSP: n hyväksi, ja muut, kuten Samsung, leijuvat tarpeeksi lähellä omilla teemaratkaisuillaan. Suunnittelemme tulevaisuutta, jossa teemoilla on tärkeä rooli entistä useamman ihmisen käyttökokemuksessa – käyttöjärjestelmässä missä todella hallitset laitteesi ulkoasua, missä käyttöliittymän estetiikka on räätälöity sinulle sinä. Emmekä voisi saavuttaa tällaista tulevaisuutta ilman tämän mahtavan yhteisön kollektiivista voimaa ja Substratumin kaltaisia ​​projekteja.


Tutustu Samsung Nougatin alustan integrointiin Substratum-foorumeillamme!Alusta GitHubissa