Zistili sme, ako povoliť novú funkciu Always on Display zariadenia Google Pixel 2 na zariadeniach Nexus 6P, Google Pixel a Pixel XL bez potreby root!
The Google Pixel 2 a Pixel 2 XL sú najnovšie smartfóny zo série smartfónov Google Pixel a zatiaľ čo hardvér je väčšinou Postupné zlepšenie oproti predchádzajúcej generácii telefónov Pixel, softvér má niekoľko skutočne šikovných nové funkcie. V telefóne je použitá nová technológia fotoaparátu Funkcia režimu na výšku, funkcia rozpoznania vždy počúvanej hudby s názvom Teraz hráa funkciou Always on Display. Žiaľ, žiadna z týchto funkcií sa nedostane do predchádzajúcich smartfónov Google, aspoň oficiálne. Predtým sme ukázali, že je možné povoliť funkciu Always on Display na Pixeli 2 cez vlastnú ROM, ale nedávno sme zistili, že je to možné povoliť funkciu Always on Display na zariadeniach Nexus 6P, Pixel a Pixel XL bez rootu.
Fotografický kredit: člen XDA Junior InFlames03
Always on Display je teraz možné povoliť vďaka Androidu 8.1 a Substratum
Predtým sme informovali, že nebude možné povoliť funkciu Always on Display na žiadnom staršom telefóne Google. Je to preto, že Google napevno zakódoval funkciu, ktorá umožňuje, aby Always on Display vždy vrátilo hodnotu false. Bolo to tak v prípade poklesu zdrojového kódu pre Android 8.0 Oreo, ale po vydaní Android 8.1 Oreo Developer Preview 1.
Ako je znázornené na snímkach obrazovky vyššie, funkcia zodpovedná za určenie toho, či povoliť alebo nepovoliť funkciu Always on Display, predtým vrátila iba hodnotu „false“. V najnovšom AmbientDisplayConfiguration kódu, teraz však kontroluje boolovskú konfiguračnú hodnotu s názvom "config_dozeAlwaysOnDisplayAvailable“, ktorý Google nastavil tak, aby bol pravdivý pre Pixel 2 a Pixel 2 XL, ale nepravdivý pre všetky ostatné telefóny, ktoré vyrobia.
Aby sme boli konkrétnejší, Google používa na určenie hodnoty tejto konfigurácie prekrytie rámca nainštalované v /vendor/overlay s názvom framework-res_auto_generated_rro. Keďže toto prekrytie rámca je založené na OverlayManagerService (OMS), môžeme si vytvoriť vlastné prekrytie rámca vynútiť config_dozeAlwaysOnDisplayAvailable vrátiť "true" na zariadeniach Nexus 6P, Pixel a Pixel XL.
Je to možné, pretože OMS, rámec tém vytvorený spoločnosťou Sony, existuje natívne integrované v systéme Android Oreo. Vďaka tomu môžeme použiť vstavané príkazy na správu a inštaláciu vlastných tém —všetko bez potreby root. Pri tom vývojári zistili, ako získať popularitu Správca tém substrátu pracuje na zariadeniach so systémom Android Oreo. Ak teda chcete, aby funkcia Always on Display fungovala, budeme používať správcu tém Substratum s doplnkom Andromeda na inštaláciu nášho špeciálneho prekrytia rámca na zariadeniach Nexus 6P, Pixel a Pixel XL.
Nakoniec je tu ešte jeden bod zmätku, na ktorý sa chcem zamerať – a to skutočnosť, že používame to, čo sa ľudovo nazýva „motor tém“, aby sme umožnili skrytú funkciu. Hoci sa Substratum bežne používa na inštaláciu tém, je presnejšie nazývať tieto témy „zdroj overlays.“ Je to preto, že tieto „témy“ špecifikujú hodnoty, ktoré nahrádzajú pôvodné zdroje ich cieľa aplikácie. Prekrytia prostriedkov zvyčajne iba nahradia hodnoty farieb v pôvodnej aplikácii, ale môžu sa zamerať aj na celé čísla, reťazce alebo boolovské hodnoty v zdrojoch aplikácie. Niektoré existujúce prekrytia substrátu to využívajú prispôsobiť uzamknutú obrazovku, obrazovku nedávnych aplikácií a rýchle nastavenia napríklad.
V každom prípade dúfame, že lepšie rozumiete tomu, čo sa chystáme urobiť. Ak chcete povoliť funkciu Always on Display z Pixel 2 na telefónoch Google Pixel prvej generácie, ako aj na Nexus 6P, postupujte podľa nižšie uvedeného návodu.
Ako povoliť funkciu Vždy na displeji Google Pixel 2 na zariadeniach Nexus 6P, Pixel a Pixel XL
Požiadavky:
- Nexus 6P, Google Pixel alebo Google Pixel XL. Nexus 5X bude fungovať, ale neodporúča sa, pretože nemá OLED obrazovku.
- Android 8.1 Oreo Developer Preview 1. Môžete nájsť súbory firmvéru tu.
- Licencia pre Doplnok Substratum Andromeda ($1.99). Bez toho nebudete môcť nainštalovať prekrytie rámca, ktoré sme vytvorili. Aspoň nie ľahko.
Návod
Špeciálne poďakovanie patrí XDA Junior Member InFlames03 za pomoc pri objavovaní tejto funkcie, jej testovaní a nakoniec ponúkaní prekryvného rámca na stiahnutie. Pozrite si jeho novinku Oreo a Čerstvé témy.
- Nastavte Substratum a jeho doplnok Andromeda. Môžete sledovať tento tutoriál celú cestu, kým nedokončíte časť 1.
- Nainštalujte AlwaysOn-enabler APK z AndroidFileHost alebo Aplikácia Pixel Enabler z obchodu Google Play. Prvý z nich je len základné prekrytie, ktoré umožňuje túto funkciu, zatiaľ čo druhé bude v budúcnosti obsahovať ďalšie funkcie.
- Otvorte substrát a vyhľadajte "Vždy zapnutý aktivátor“ od Sai v zozname tém. Klepnite naň.
- Klepnite na „výberom prepnete všetky prekrytia."
- Klepnite na tlačidlo plávajúceho valčeka.
- Vyberte "Vybudovať a povoliť."
- Reštartovať.
- Otvorte Nastavenia --> Displej. Rozbaľte "Pokročilé"kategória a klepnite na"Ambientný displej."
- Mali by ste vidieť "Vždy zapnutý"prepínač. Zakázať a znova povoliť. Užite si vždy na displeji!
Prípadne si môžete pozrieť nasledujúce video, ktoré obsahuje základné kroky potrebné na aktiváciu Always on Display. Video zachytil XDA Senior Member eqbirvin na svojom Google Pixel XL so systémom Android 8.1 Oreo. Upozorňujeme, že stále odporúčame reštartovať počítač, aj keď video neukazuje žiadne reštartovanie.
Výstrahy
Nexus 6P, Pixel a Pixel XL v predvolenom nastavení neponúkajú funkciu Always on Display, pretože ich obrazovky nie sú správne vyladené tak, aby vstúpili do stavu nízkej spotreby energie ako obrazovky Pixel 2. Použitie tohto prekrytia na aktiváciu Always on Display teda možno považovať za hack, pretože to nie je bez výhrad. Toto sme nepoužívali dlhší čas na meranie spotreby energie alebo iných potenciálnych problémov, ale zatiaľ sme narazili na tieto problémy:
- Nefunguje stlačenie tlačidla napájania na prebudenie priamo na uzamknutú obrazovku z Always on Display. Musíte dvakrát stlačiť tlačidlo napájania.
- Dvojité klepnutie na prebudenie priamo na uzamknutú obrazovku z Always on Display nefunguje. Musíte dvakrát klepnúť (4 klepnutia).
- Niekedy sa počas fázy odomknutia môže objaviť sivá obrazovka.
Ak odomknete telefón z obrazovky Always on Display pomocou snímača odtlačkov prstov, nebudete mať žiadne z vyššie uvedených problémov. Ak narazíte na niektorý z vyššie uvedených problémov, problém môže vyriešiť aj jednoduché opätovné uzamknutie a odomknutie pomocou odtlačku prsta.
Záver
Máme podozrenie, že vyššie uvedené problémy súvisia s tým, že displej neprechádza správne zo stavu Always on Display do stavu zapnutej obrazovky, a hľadáme možné opravy. Je možné, že tieto problémy nebudú nikdy opravené, alebo môžu byť zhodou okolností opravené v budúcej ukážke pre vývojárov. Najväčšie obavy máme z toho, že Google uvidí, čo robíme, a znova napevno zakóduje Always on Display. Dúfame, že sa to nestane, ale určite je to možné. Zatiaľ si vychutnajte funkciu Always on Display od Google Pixel 2, kým môžete!