Kā substrāts sniedza lielākas izvēles iespējas neelastīgam TouchWiz

click fraud protection

Sungstratum no komandas [projekt.] nodrošina visus RRO-OMS tematiskos labumus Samsung Nougat ierīcēs, izmantojot Substratum! Lasiet tālāk, lai uzzinātu vairāk!

Android motīvu izstrāde ir nogājusi garu ceļu, sākot no neveiksmīgiem labojumiem līdz Substratum un tagad, Sungstratum. Daudzus gadus atpakaļ vārdu “tēma” Android diskusijās bieži aizstāja ar vārdu “izvēlētājs”, norādot T-Mobile motīvu izvēle, kas atrodama CyanogenMod un kas lika pamatus, kas padarīja Android par tēmu paradīze. Iespēja mainīt OS izskatu nodrošināja lietotājiem citu pielāgošanas dimensiju, ļaujot viņiem veikt izmaiņas, kas padara viņu ierīces daudz personalizētākas.

Labais darbs turpinājās divos dažādos virzienos. Motīvu izvēle attīstījās par CyanogenMod motīvu dzinēju, taču, neskatoties uz gadiem ilgiem pūliņiem, kas tika ieguldīti tēmu veidošanas resursos, CMTE kļuva novecojis kad parādījās citas alternatīvas.


RRO un slāņi

Pamats vienai no alternatīvām tika likts, kad Sony koda ieguldījums jaunās sistēmas veidā sauca

Izpildlaika resursu pārklājums (RRO) tika uzņemts AOSP. Šis ietvars nodrošina iespēju izpildlaikā aizstāt lietojumprogrammas resursus (tātad arī nosaukums). Pārklājumi paši par sevi ir pieejami un atbalstīti operētājsistēmā Android jau no Gingerbread (un varbūt arī agrāk), ko galvenokārt izmantoja, lai apmainītu resursus, lai lietojumprogrammas darbotos konkrētajā ierīci. Sony pieeja RRO ietvēra līdzekļu pārvaldnieka pārveidošanu, lai pieņemtu APK, kas izmantoja resursus, kas kartēti ar citiem atbilstošiem ierīcē esošajiem resursiem. Šie jaunie APK resursi pēc tam tika pārklāti ar pamata resursiem tikai izpildlaikā, ļaujot sistēmai darboties tā, it kā šie jaunie resursi vienmēr būtu bijuši tās sastāvdaļa.

RRO sistēma tika apvienota ar AOSP, pirms Lollipop 5.0 tika publiskota, taču dažās sākotnējās 5.0 versijās ietvara daļas tika bojātas citu izmaiņu dēļ. Android 6.0 Marshmallow izstrādātāju priekšskatījumi bija pirmie, kas tika pievienoti funkcionālai, lai arī ierobežotai RRO sistēmai, atverot pielāgojamības durvis tieši Android akciju līmenī. Tātad, ja vien oriģinālā aprīkojuma ražotājs nav apzināti mēģinājis novirzīties no Android tēmu izvēles iespējām, noteikti varētu saglabāt konsekvences līmeni pieejā par to, kā “tēmas” tiktu īstenotas Android.

Kamēr AOSP spēlējās ar RRO un meklēja labāko veidu, kā to visu iekļaut, izstrādātāju komanda sauca BitSyko strādāja kopā pie kolektīviem centieniem ar nosaukumu "Slāņi". Slāņi paplašināja RRO funkcionalitāti operētājsistēmā Android 5.1 Lollipop, lai nodrošinātu sarežģītāku resursu pārslēgšanu un vairāk elementu kontroles motīviem, nekā tas ir iespējams, izmantojot krājuma RRO. Tā kā slāņi tika veidoti uz augšu, izmantojot RRO, ROM veidotājiem bija jāpievieno papildu kods, lai iespējotu slāņu funkcionalitāti savos ROM, jo ne visi slāņu motīvi darbotos Marshmallow standarta RRO.

Tikmēr Sony ar saviem centieniem virzījās uz Android tēmu. Tas sāka strādāt pie tā OMS (pārklājuma pārvaldnieka pakalpojums), klients pārklājumu pārvaldībai, kas ļautu pakalpojumu sniedzējiem dinamiski kontrolēt prioritātes un iespējot un atspējot pārklājumus. OMS tiek apvienota ar AOSP un nonāks operētājsistēmā Android O. XDA atzītais izstrādātājs nicholaschum ar saviem avotiem varēja apstiprināt, ka Android O izmantos "dinamiskus pārklājumus", kas, domājams, ir atsauce uz OMS.

OMS izraisīja konfliktus ar slāņiem, jo ​​tradicionāli šādas funkcijas bija tēmas pārziņā. Lai risinātu OMS izvirzītās problēmas, kā arī paplašinātu slāņu funkcionalitāti, BitSyko atkal apvienojās (un pārdēvēja sevi par [projekts.]) radīt Substrāts. Substratum ir klients ar OMS funkcionalitāti kas mēģina saskaņot slāņu funkcionalitāti ar OMS, kā arī aizņem citus elementus no citiem iepriekšējiem tēmu risinājumiem. Pārklājumi vairs netika pārklāti viens ar otru, lai veidotu atsevišķus elementus, tāpat kā tagad visi nepieciešamie elementi tika ievadīti vienā pārklājumā. Tādas funkcijas kā kompilēšana ierīcē ļāva lietot motīvus bez nepieciešamības veikt atkārtotu palaišanu starp izmaiņām, padarot to ievērojami lietotājiem ir vieglāk izmēģināt tēmas un eksperimentēt. Substrāts ir aktīvi attīstīts kopš tā pirmsākumiem, un tajā ir uzskaitītas visas tā funkcijas un pievienotā funkcionalitāte neietilpst šī raksta darbības jomā, tāpēc mēs pāriesim pie šī raksta patiesās tēmas gabals.


Substrāts Sungstratum

Kā paskaidrots iepriekšējā sadaļā, Substratum sākās kā veids, kā paplašināt krājuma OMS funkcionalitāti, kā arī krājuma RRO funkcionalitāti (izmantojot slāņus). Substrātu bija paredzēts izmantot kopā ar AOSP balstītiem ROM, jo vairums citu OEM būtu veikuši pretrunīgas izmaiņas kas neļautu Substratum pastāvēt vienlaikus ar to modifikācijām rediģētā UX apvalkā, piemēram, Samsung piemērs.

Pats Samsung strādāja arī pie motīvu risinājuma, ko varētu izmantot savās ierīcēs, izmantojot Nougat. Atšķirībā no Sony, Samsung neizrādīja interesi atgriezt tēmas kodu AOSP. Bet, tā kā Samsung risinājums bija diezgan vienkāršs, AOSP patiesībā daudz nezaudēja. Samsung motīvu risinājums, kas iestrādāts Touchwiz, patiešām parādījās Samsung Galaxy S6, taču, kā minēts, tas bija diezgan ierobežots attiecībā uz to, ko tas varēja mēģināt sasniegt. Pirms tam bija ierobežoti eksperimenti, kas sākās ar Galaxy Alpha, lai gan lielākā daļa sistēmas lietotāja interfeisa elementu bija ārpus tā darbības jomas. Motīvi var mainīt fona attēlus un ikonas, kā arī dažas Samsung krājuma lietotnes, piemēram, zvanītāju, kontaktpersonas, ziņas un paziņojumu apgabalu.

Kā izrādās, Samsung tēmu veidošanas dzinējs pagarina RRO, kā atrasts AOSP. Pēc RRO paplašināšanas Samsung arī atjaunoja savu iekšējo OMS versiju, tāpēc gan RRO, gan OMS ieviešana atšķiras no AOSP. Bet pārsteidzoši, ka ne pārāk daudz — anomāla uzvedība, ja ņem vērā Touchwiz atšķirtspēju un sarežģītību. Themers, kas izmanto jaunākus Samsung flagmaņus, ziņoja, ka viņi varētu instalēt RRO pārklājumus un likt tiem izveidot trešo pušu lietojumprogrammas.

Tas bija norādījums, kas komandai [projekt.] bija nepieciešams, lai izpētītu Samsung ierīču oficiālo atbalstu platformā Substratum. Komanda konvertēja nelielu koda daudzumu no savas lietotnes sadaļas RRO/Legacy, taču tā vietā Pieprasot sakni un lūdzot atsāknēšanu, viņi aktivizēja konkrētus nolūkus, lai tiktu instalēti pārklājumi. Pēc tam komanda strādāja, lai nodrošinātu, ka lietojumprogrammas, kas tika ietekmētas, izmantojot motīvus, tiek piespiedu kārtā aizvērtas fonā, lai nākamajā palaišanas reizē nodrošinātu pilnīgu līdzekļu atsvaidzināšanu.

Mēs jautājām XDA atzītajam izstrādātājam nicholaschum lai sniegtu mums ieskatu par izaicinājumiem, ar kuriem komanda saskārās, strādājot pret Samsung slēgtā koda RRO-OMS ieviešanu:

Izaicinājumi, ar kuriem mēs saskārāmies, bija diezgan neskaidri un daudziem, kuriem nav daudz zināšanu, nebija zināmi izpratne par tēmu veidošanas sistēmām neatkarīgi no tā, vai tās ir atvērtā avota vai slēgtā avota – visam ir savs izmēģinājums un kļūdas fāze. Šajā gadījumā, strādājot ar Samsung, es saskāros ar daudzām problēmām, bet galvenā no tām bija sistēmas nolūku trūkums tiek palaists pārklājumiem pēc instalēšanas pabeigšanas, piemēram, izmantojot apraides uztvērējus ar “android.intent.action. PACKAGE_ADDED” — motīvu pakalpojums noliedz visu, kas neietilpst sistēmas parakstā ar noteiktu Samsung motīvu pakalpojuma atļauja no tās saņemšanas, tāpēc grūtākais ir risinājums, kas mums bija jāatrod apkārt.

Mēs izmantojam Substratum kopā ar Samsung Theme Engine, izmantojot to pašu sistēmu, ko viņi izmanto. Viņi izmanto ļoti modificētu Sony Resource Runtime Overlay sistēmas versiju, kas saīsināta kā RRO vai pazīstama kā mantojums Substratum lietotāju vidū. Tomēr atšķiras tas, ka Samsung motīviem ir papildu atļauja, kas slēpj šos pārklājumus no iestatījumiem, tāpēc tos nevar atinstalēt pa vienam manuāli. Mēs izmantojam to pašu sistēmu, taču mēs izmantojam AOSP/Sony ieviešanu, tāpēc Samsung Themes var pilnībā izveidot motīvu sistēmu, Substrāta pārklājumi nevar pieskarties starpnieka mērķim, kas neeksistē “fwk” — kā mēs visi zinām, sistēma ir tikai “android” pakotne. nosaukums.

Likās dīvaini, ka [projekt.] salīdzinoši viegli varēja strādāt līdzās Samsung RRO ieviešanai. Ikviens, kurš jebkad ir strādājis ar Samsung ierīcēm, var apliecināt, cik sarežģīti Samsung bieži dara lietas. Mēs vaicājām par jebkuru konkrētu bloku, ar kuru komanda saskārās savas ostas laikā:

Patiešām, ir ieviests sava veida drošības mehānisms, kas ietekmēja dažus lietotājus, un pārklājumi tiek atjaunoti palaišanas laikā. Tas ir saistīts ar veidu, kā Samsung sāk savu ierīci. Tā kā TouchWiz/Samsung Experience mēs pārsvarā esam 7.0, mēs izmantojam jaunu metodi “Optimizing Apps” (to var redzēt, kad atjaunināsit tālruni, parādīs paziņojumu ar Android Nougat ikonu, norādot, ka tas tiek jaunināts fonā), tāpēc šis lietotņu optimizācijas veids arī izlādē mērķi pakotnes, galu galā izjaucot idmapping procesu sāknēšanas laikā (jo mērķa pakotne neeksistē), un tādējādi daži cilvēki saskaras ar pārklājuma izlādēšanu pēc pārstartēt.

To var redzēt arī ar dažiem Samsung motīviem, jo ​​īpaši @envy~ tumšo/melno tēmu — viņš padara noklusējuma navigācijas joslas krāsu sadaļā Displejs -> Navigācijas josla uz melnu, kur ir faktiskā noklusējuma krāsa balts. Kad tas ir iestatīts uz melnu, varat atvērt tastatūru, un navigācijas josla paliek melna. Tas tiks atjaunots nejauši pēc atsāknēšanas, kā arī daudzās ierīcēs.

Kādi ir Substratum plāni tādos sānu atzaros kā Sungstratum, tēmai atgūstot savu nozīmi?

Turpinājumā mēs apvienosim nelielu lietotni mūsu papildinājumā mūsu pašreizējiem lietotājiem, lai viņi to darītu varēs apturēt Samsung motīvu pakalpojumu, ja visi viņu ierīcēs instalētie motīvi ir instalēti no XDA. Tātad cilvēki, kuri izmantos Samsung motīvu formatētus XDA motīvus, jūs varēsiet izmantot papildinājumu, lai novērstu Samsung pakalpojums neatgriež to atpakaļ uz krājuma motīvu pēc katras atsāknēšanas (jo tas netika instalēts no Samsung veikala oficiāli). Tam būs nepieciešama bezmaksas Samsung izstrādātāja atslēga, kas ir pieejama viņu vietnē, taču tā būs iepriekš saistīta ar Sungstratum papildinājuma lejupielādi.


Ņemot vērā nesenās un gaidāmās izmaiņas AOSP un Android O, šķiet, ka Google kādreiz jaunizveidotā operētājsistēma lietotājam tiks nodota vēl vairāk personalizācijas. Daži oriģinālo iekārtu ražotāji pat plāno atbrīvoties no savām pielāgotajām lietotāja saskarnēm un UX papildinājumiem par labu AOSP, un citi, piemēram, Samsung, ir pietiekami tuvu ar saviem tematiskajiem risinājumiem. Mēs paredzam nākotni, kurā tēmām ir liela nozīme lietotāju pieredzē vēl vairāk cilvēku — OS kur jūs patiesi kontrolējat, kā jūsu ierīce izskatās, kur jūs esat pielāgojis lietotāja interfeisa estētiku tu. Un mēs nevarētu sasniegt šādu nākotni bez šīs lieliskās kopienas kolektīvā spēka un tādiem projektiem kā Substratum.


Skatiet Samsung Nougat substrāta integrāciju mūsu substrāta forumos!Substrāts vietnē GitHub