Google přidal API, které umožňuje spouštěcím zařízením třetích stran, jako je Nova Launcher, zobrazovat plynulejší přechodové animace. Nyní ji mají pouze telefony Pixel.
V minulosti spouštěcí aplikace třetích stran často poskytovaly lepší zážitek než spouštěč akcií na většině telefonů Android. S přepracováním obrazovky nedávných aplikací a zavedením gest v systému Android 9 Pie však odpalovací zařízení třetích stran byla znevýhodněna, protože tyto nové zkušenosti byly integrovány do skladu spouštěcí aplikace. Postupem času se Google snažil, aby zážitek ze spouštění třetích stran nebyl při používání gest tak hrozný, a v poslední době se jim to vlastně začalo dařit.
Pokud jste v posledních několika měsících používali nejnovější beta verzi Nova Launcher na telefonu Google Pixel, možná jste si všimli plynulých animací při používání navigace gesty. Bohužel tyto stejné animace neuvidíte při použití Nova Launcher na žádném jiném zařízení, alespoň prozatím. Abychom pochopili, proč musíme nejprve stručně vysvětlit, co odlišuje spouštěče třetích stran, jako je Nova Launcher, od spouštěčů akcií, jako je Pixel Launcher od Googlu.
Google poprvé představil navigaci gesty v systému Android 9 Pie. Aby byla gesta co nejplynulejší, Google potřeboval, aby přechody aplikací vypadaly bezproblémově. Chtěli také umožnit uživatelům přístup k celému jejich seznamu aplikací z obrazovky nedávných aplikací. Aby bylo možné provést obojí, Google se rozhodl přesunout kód, který zpracovává obrazovku nedávných aplikací z Androidu SystemUI až Launcher3, open-source spouštěcí aplikace pro Android, ze které pochází většina spouštěčů OEM. Tedy, Rychlý krok se zrodila komponenta a díky své privilegované povaze umožňuje Android nastavit jako poskytovatele nejnovějších aplikací pouze předinstalovanou spouštěcí aplikaci. To může být přepsán přístupem root pokud to spouštěč třetí strany podporuje, ale pro většinu uživatelů to znamená, že spouštěcí aplikace třetí strany bude vždy spoléhat na spouštěč akcií, aby zvládl gesta a obrazovku posledních aplikací. Výsledek, jak většina z vás pravděpodobně zažila, může být trochu trhaný, s přechody, které nevypadají plynule a plynule. Tedy pokud nepoužíváte telefon Google Pixel.
Na většině telefonů Google Pixel existuje rozhraní API, které mohou spouštěči třetích stran použít k tomu, aby přechod z aplikace zpět na domovskou obrazovku vypadal mnohem nativněji. Některé spouštěcí aplikace třetích stran jako Niagarský odpalovač a výše zmíněný Nova Launcher využívají výhody tohoto API, i když ten druhý jej obsahuje pouze ve svém sestavení ve vývoji v7. Při použití tohoto rozhraní API obdrží spouštěcí aplikace třetí strany záměr a zpětné volání od QuickStep, kdykoli uživatel provede gesto přechodu domů přejetím prstem. Spouštěč třetí strany pak může navrhnout systému gest, jak animovat okno, když se minimalizuje na ikonu aplikace.
Zde je příklad toho, jak to vypadá v Niagara Launcher, s laskavým svolením vývojáře launcheru 8 bitpit:
A zde je srovnání, které ukazuje, jak animace vypadá na ASUS ROG Phone 5 a Google Pixel 4, oba používají Nova Launcher v7.0.25 (nejnovější beta verze v době zveřejnění) a Android 11:
\r\n https://www.youtube.com/watch? v=equ-8yDw_Do\r\n
Nyní by vás mohlo zajímat: Je toto API exkluzivní pro telefony Google Pixel? Odpověď je ne, není. API je součástí Launcher3/QuickStep a lze nalézt v AOSP, což znamená, že je otevřený pro jakoukoli spouštěcí aplikaci OEM. Zatímco API byl oddán Launcher3 interně 21. července 2020, zdá se, že ano sloučeny do hlavní pobočky AOSP s vydáním Android R QPR1 v prosinci.
Kevin Barry, vývojář Nova Launcher a jeden z prvních, kdo toto API objevil, nám řekl, že má podezření na část důvod, proč výrobci OEM nepoužívají toto API ve svých větvích Launcher3, je ten, že přišlo trochu pozdě ve verzi Android 11 cyklus. Sloučit velké změny AOSP vyžaduje poměrně dost úsilí a aktualizace Android R QPR1 jich rozhodně obsahovala hodně. V minulých letech jsme tyto poklesy kódu nazvali „údržbovým vydáním“, ale Google je už po zatlačení od výrobců OEM (nebo jsem to alespoň slyšel) ve skutečnosti nedělá. To je důvod, proč LineageOS, populární vlastní ROM pro Android, nazývá své nejnovější vydání "LineageOS 18.1" spíše než "LineageOS 18", což znamená, že ROM je založena na nejnovější kódové základně Android 11, nikoli na původní verzi Android 11.
Za zmínku také stojí, že toto API je dostupné pouze na telefonech Google Pixel po Prosinec Pokles funkcí pixelů, která se shoduje s veřejným vydáním Android R QPR1. A to i přesto, že Pixel 2 dostává své poslední aktualizace v prosinci, tato aktualizace neobsahovala kódovou základnu Android R QPR1, což je důvod, proč majitelé Pixel 2 s Nova Launcher v7 nemají stejné zkušenosti jako ostatní Pixely. (Vlastníci Pixelu 2 si mohou načíst novější verzi Pixel Launcher, která má API z novějšího zařízení Pixel, ale naznačují uživatelské zprávy animace je stále zabugovaná, i když jednou za čas funguje. Připomínáme, že Pixel Launcher je postaven na Launcher3 stejně jako většina spouštěčů akcií, ale obsahuje také některé funkce exkluzivní pro Pixel.)
Co tedy bude potřeba k tomu, aby bylo toto API přidáno do dalších zařízení Android? Bohužel na to není jednoduchá odpověď, protože nevíme, jak přesně každý OEM vyvíjí svou launcher aplikaci. Vzhledem k tomu, jak Google pevně ovládá navigaci gesty na celé obrazovce, máme podezření, že většina výrobců OEM příliš neupravuje kód související s gesty a/nebo QuickStep. Pokud se OEM nevynasnaží vrátit potvrzení, prolomit kód nebo odmítnout aktualizaci Launcher3, pak bychom měli vidět, že toto rozhraní API bude přidáno do spouštěčů OEM, kdykoli se znovu založí na vrcholu nadcházející Android 12 uvolnění. Ve skutečnosti jeden OEM, se kterým jsme mluvili, ASUS, nám řekl, že plánují přinést toto API ve své aktualizaci Android 12. Nevíme, zda společnost Google oznámila tuto změnu výrobcům OEM, ale doufáme, že si tuto změnu všimne více výrobců OEM a rozhodli se začlenit API do svých fork Launcher3, aby zlepšili zkušenosti s používáním třetích stran odpalovací zařízení.
Tím však práce nekončí. I po zahrnutí tohoto rozhraní API je potřeba udělat ještě více práce, aby bylo dosaženo parity mezi spouštěči třetích stran a spouštěči OEM. Některá zařízení OEM například blikají, když uživatel klepne na obrazovku, než se zobrazí animace na domovské obrazovce. Někdy se místo vybrané spouštěcí aplikace třetí strany objeví spouštěcí aplikace systému (několikrát se mi to stalo). Vylepšená animace přechodu je pěkná, ale nikdo se nechce zabývat chybami ve spouštěcí aplikaci nebo na obrazovce nedávných aplikací, takže kód gest vyžaduje určité vyčištění a/nebo standardizaci.
Děkujeme Kevinu Barrymu a Peteru Huberovi za pomoc v tomto článku!