Google pridal API, ktoré umožňuje spúšťačom tretích strán, ako je Nova Launcher, zobrazovať plynulejšie animácie prechodov. Teraz ho majú iba telefóny Pixel.
V minulosti spúšťacie aplikácie tretích strán často poskytovali lepší zážitok ako spúšťač akcií, ktorý sa nachádza na väčšine telefónov s Androidom. S prepracovaním obrazovky nedávnych aplikácií a zavedením gest v systéme Android 9 Pie však odpaľovacie zariadenia tretích strán boli znevýhodnené, pretože tieto nové skúsenosti boli integrované do zásoby spúšťacia aplikácia. Postupom času sa Google snažil, aby spúšťač tretích strán nebol taký hrozný pri používaní gest, a v poslednej dobe sa im to skutočne darí.
Ak ste v posledných mesiacoch používali nedávnu beta verziu Nova Launcher na telefóne Google Pixel, možno ste si všimli plynulé animácie pri používaní navigácie gestami. Bohužiaľ, tieto isté animácie neuvidíte pri používaní Nova Launcher na žiadnom inom zariadení, aspoň zatiaľ. Aby sme pochopili, prečo musíme najprv stručne vysvetliť, čo odlišuje spúšťače tretích strán, ako je Nova Launcher, od spúšťačov akcií, ako je Pixel Launcher od Googlu.
Google prvýkrát predstavil navigáciu gestami v systéme Android 9 Pie. Aby boli gestá čo najplynulejšie, Google potreboval, aby prechody aplikácií vyzerali bezproblémovo. Chceli tiež umožniť používateľom prístup k celému zoznamu aplikácií z obrazovky nedávnych aplikácií. Na splnenie oboch týchto krokov sa Google rozhodol presunúť kód, ktorý spracováva obrazovku nedávnych aplikácií z Androidu SystemUI na Launcher3, open-source spúšťaciu aplikáciu pre Android, z ktorej pochádza väčšina spúšťačov akcií OEM. Teda, QuickStep sa zrodil komponent a vzhľadom na jeho privilegovanú povahu umožňuje Android nastaviť ako poskytovateľa najnovších aplikácií iba predinštalovanú aplikáciu spúšťača. Toto môže byť prepísané prístupom root ak to spúšťač tretej strany podporuje, ale pre väčšinu používateľov to znamená, že spúšťacia aplikácia tretej strany sa bude vždy spoliehať na spúšťač akcií, ktorý zvládne gestá a obrazovku nedávnych aplikácií. Výsledok, ako väčšina z vás pravdepodobne zažila, môže byť trochu nervózny, s prechodmi, ktoré nevyzerajú plynule a plynulo. Teda pokiaľ nepoužívate telefón Google Pixel.
Vo väčšine telefónov Google Pixel existuje rozhranie API, ktoré môžu spúšťače tretích strán použiť na to, aby prechod z aplikácie späť na domovskú obrazovku vyzeral oveľa prirodzenejšie. Niektoré spúšťacie aplikácie tretích strán, ako napr Odpaľovač Niagara a vyššie uvedený Nova Launcher využívajú výhody tohto API, hoci ten druhý ho obsahuje iba vo svojom vo vývoji v7 zostavy. Keď sa použije toto rozhranie API, spúšťacia aplikácia tretej strany dostane od QuickStep zámer a spätné volanie vždy, keď používateľ vykoná gesto prechodu prstom domov. Spúšťač tretej strany môže potom navrhnúť systému gest, ako animovať okno, keď sa minimalizuje na ikonu aplikácie.
Tu je príklad toho, ako to vyzerá v Niagara Launcher, s láskavým dovolením vývojára launchera 8 bitpit:
A tu je porovnanie, ktoré ukazuje, ako animácia vyzerá na ASUS ROG Phone 5 a Google Pixel 4, na oboch bežia Nova Launcher v7.0.25 (najnovšie beta vydanie v čase vydania) a Android 11:
\r\n https://www.youtube.com/watch? v=equ-8yDw_Do\r\n
Teraz by vás mohlo zaujímať: Je toto rozhranie API exkluzívne pre telefóny Google Pixel? Odpoveď je nie, nie je. API je súčasťou Launcher3/QuickStep a nájdete v AOSP, čo znamená, že je otvorený pre akúkoľvek spúšťaciu aplikáciu OEM. Zatiaľ čo API bol oddaný Launcher3 interne 21. júla 2020, zdá sa, že áno zlúčené do hlavnej pobočky AOSP s vydaním Android R QPR1 v decembri.
Kevin Barry, vývojár Nova Launcher a jeden z prvých, ktorí si všimli toto API, nám povedal, že má podozrenie na časť dôvod, prečo výrobcovia OEM nepoužívajú toto rozhranie API vo svojich vidliciach Launcher3, je ten, že vo vydaní Androidu 11 prišlo trochu neskoro cyklu. Zlúčiť veľké zmeny AOSP si vyžaduje pomerne veľa úsilia a aktualizácia Android R QPR1 ich určite obsahovala veľa. V minulých rokoch by sme tieto vynechania kódu nazvali „vydaním údržby“, ale Google ich už po odmietnutí od OEM (alebo som to aspoň počul) už nerobí. To je dôvod, prečo LineageOS, populárna vlastná ROM pre Android, nazýva svoje najnovšie vydanie „LineageOS 18.1“ namiesto „LineageOS 18“, čo znamená, že ROM je založená na najnovšej kódovej základni systému Android 11 a nie na pôvodnom vydaní systému Android 11.
Za zmienku tiež stojí, že toto rozhranie API je dostupné iba na telefónoch Google Pixel po Decembrový pokles funkcií pixelov, ktorá sa zhoduje s verejným vydaním Android R QPR1. A to aj napriek tomu, že Pixel 2 dostal svoje posledná aktualizácia v decembri, táto aktualizácia neobsahovala kódovú základňu Android R QPR1, a preto majitelia Pixel 2 s Nova Launcher v7 nemajú rovnaké skúsenosti ako iné Pixely. (Vlastníci Pixel 2 si môžu stiahnuť novšiu verziu Pixel Launcher, ktorá má API z novšieho zariadenia Pixel, ale hlásenia používateľov uvádzajú animácia je stále buggy, aj keď raz za čas funguje. Pripomíname, že Pixel Launcher je postavený nad Launcherom3 rovnako ako väčšina spúšťačov akcií, ale obsahuje aj niektoré funkcie exkluzívne pre Pixel.)
Čo teda bude potrebné na pridanie tohto API do iných zariadení so systémom Android? Bohužiaľ na to neexistuje jednoduchá odpoveď, pretože nevieme presne, ako každý OEM vyvíja svoju spúšťaciu aplikáciu. Vzhľadom na to, ako Google pevne ovláda navigáciu gestami na celej obrazovke, máme podozrenie, že väčšina OEM výrazne neupravuje kód súvisiaci s gestami a/alebo QuickStep. Pokiaľ sa OEM nevynasnaží vrátiť odovzdanie, prelomiť kód alebo odmietnuť aktualizáciu Launcher3, potom by sme mali vidieť, že sa toto rozhranie API pridáva do spúšťačov OEM vždy, keď sa prebudujú na vrchole nadchádzajúce Android 12 uvoľniť. V skutočnosti jeden OEM, s ktorým sme hovorili, ASUS, nám povedal, že plánujú priniesť toto API do svojej aktualizácie Android 12. Nevieme, či spoločnosť Google oznámila túto zmenu výrobcom OEM, ale dúfame, že si túto zmenu všimne viac výrobcov OEM a rozhodli sa začleniť API do svojich rozvetvení Launcher3, aby zlepšili zážitok z používania tretích strán odpaľovacie zariadenia.
Tým sa však práca nekončí. Aj po zahrnutí tohto rozhrania API je potrebné vykonať ešte viac práce, aby sa dosiahla rovnosť medzi spúšťačmi tretích strán a spúšťačmi OEM. Napríklad niektoré zariadenia OEM blikajú, keď používateľ klepne na obrazovku predtým, ako sa zobrazí animácia na domovskej obrazovke. Niekedy sa namiesto vybranej spúšťacej aplikácie tretej strany zobrazí aplikácia spúšťača systému (niekoľkokrát sa mi to stalo). Vylepšená animácia prechodu je pekná, ale nikto sa nechce zaoberať chybami v spúšťacej aplikácii alebo na obrazovke nedávnych aplikácií, takže kód gest vyžaduje určité čistenie a / alebo štandardizáciu.
Ďakujeme Kevinovi Barrymu a Petrovi Huberovi za pomoc v tomto článku!