Google lisas API, mis võimaldab kolmandate osapoolte käivitajatel, nagu Nova Launcher, kuvada sujuvamaid üleminekuanimatsioone. Praegu on see ainult Pixeli telefonidel.
Varem pakkusid kolmandate osapoolte käivitusrakendused sageli paremat kogemust kui enamikes Android-telefonides leiduv aktsiakäivitaja. Kuid hiljutiste rakenduste ekraani uuendamise ja Android 9 Pie žestide kasutuselevõtuga kolmandate osapoolte kanderaketid pandi ebasoodsasse olukorda, kuna need uued kogemused integreeriti varudesse käivitaja rakendus. Aja jooksul on Google püüdnud muuta kolmanda osapoole käivituskogemus žestide kasutamisel mitte nii kohutavaks ja neil on see tegelikult hiljuti õnnestunud.
Kui olete viimastel kuudel kasutanud Google Pixeli telefonis Nova Launcheri beetaversiooni hiljutist väljalaset, võisite liigutustega navigeerimise kasutamisel märgata sujuvaid animatsioone. Kahjuks ei näe te neid samu animatsioone, kui kasutate Nova Launcherit üheski teises seadmes, vähemalt praegu. Et mõista, miks peame esmalt lühidalt selgitama, mis eristab kolmandate osapoolte käivitusseadmeid, nagu Nova Launcher, aktsiakäivititest, nagu Google'i Pixel Launcher.
Google tutvustas esmakordselt žestidega navigeerimist operatsioonisüsteemis Android 9 Pie. Selleks, et liigutused oleksid võimalikult sujuvad, pidi Google muutma rakenduste üleminekud sujuvaks. Samuti soovisid nad lubada kasutajatel viimaste rakenduste ekraanilt juurdepääsu kogu oma rakenduste loendile. Nende mõlema tegemiseks otsustas Google teisaldada koodi, mis haldab hiljutiste rakenduste ekraani Androidist SystemUI Launcher3-le, Androidi avatud lähtekoodiga käivitusrakendusele, millest enamik OEM-i aktsiakäivitusseadmeid on ühendatud. Seega, QuickStep komponent sündis ja selle privilegeeritud olemuse tõttu lubab Android määrata viimaste rakenduste pakkujaks ainult eelinstallitud käivitusrakenduse. See võib olla alistatakse juurjuurdepääsuga kui kolmanda osapoole käivitusprogramm seda toetab, kuid enamiku kasutajate jaoks tähendab see, et kolmanda osapoole käivitusrakendus tugineb žestide ja hiljutiste rakenduste ekraani haldamisel alati aktsiakäivitile. Tulemus, nagu enamik teist on ilmselt kogenud, võib olla pisut tüütu, üleminekutega, mis ei tundu sujuvad ja sujuvad. Kui te ei kasuta Google Pixeli telefoni, see tähendab.
Enamikus Google Pixeli telefonides on API, mida kolmanda osapoole käivitusprogrammid saavad kasutada, et muuta rakenduselt tagasi avakuvale üleminek palju loomulikum. Mõned kolmanda osapoole käivitusrakendused nagu Niagara kanderakett ja ülalmainitud Nova Launcher kasutavad seda API-d ära, kuigi viimane sisaldab seda ainult oma arendusesisesed v7 järgud. Kui seda API-t kasutatakse, saab kolmanda osapoole käivitusrakendus QuickStepilt kavatsuse ja tagasihelistamise iga kord, kui kasutaja teeb kojumineku liigutuse. Kolmanda osapoole käivitaja saab seejärel vihjata žestisüsteemile, kuidas akent animeerida, kuna see minimeerib rakenduse ikooni.
Siin on näide selle kohta, kuidas see Niagara Launcheris välja näeb, tänu käivitaja arendajale 8 bitpit:
Ja siin on võrdlus, mis näitab, kuidas animatsioon ekraanil välja näeb ASUS ROG telefon 5 ja Google Pixel 4, mõlemas töötab Nova Launcher v7.0.25 (avaldamise ajal viimane beetaversioon) ja Android 11:
\r\n https://www.youtube.com/watch? v=equ-8yDw_Do\r\n
Nüüd võite küsida: kas see API on ainult Google Pixeli telefonide jaoks? Vastus on ei, ei ole. API on osa Launcher3/QuickStep ja leiate AOSP-st, mis tähendab, et see on avatud kõikidele OEM-käivitusrakendustele. Kuigi API oli pühendunud Launcher3-le sisemiselt 21. juulil 2020 näib, et oli liideti AOSP põhiharuga detsembris ilmuva Android R QPR1 väljalaskega.
Kevin Barry, Nova Launcheri arendaja ja üks esimesi, kes selle API märkas, ütles meile, et kahtlustab, et osa põhjus, miks originaalseadmete tootjad seda API-d Launcher3 harudes ei kasuta, on see, et see ilmus Android 11 väljalaskega veidi hilja tsükkel. Suurte AOSP muudatuste ühendamine nõuab üsna palju pingutust ja Android R QPR1 värskendus sisaldas neid kindlasti palju. Varasematel aastatel nimetasime neid koodilangusi "hooldusväljaanneteks", kuid Google ei tee seda enam pärast originaalseadmete tootjate tagasilükkamist (või nii ma olen kuulnud). Seetõttu nimetab LineageOS, populaarne Androidi kohandatud ROM oma uusimat versiooni "LineageOS 18.1", mitte "LineageOS 18", mis tähendab, et ROM põhineb uusimal Android 11 koodibaasil, mitte Android 11 esialgsel versioonil.
Samuti väärib märkimist, et see API on saadaval ainult Google Pixeli telefonides pärast Detsembris Piksli funktsioonide langus, mis langeb kokku avaliku Android R QPR1 väljaandega. Ja hoolimata sellest, et Pixel 2 sai selle lõplik värskendus detsembris, see värskendus ei sisaldanud Android R QPR1 koodibaasi, mistõttu pole Pixel 2 omanikel, kes kasutavad Nova Launcher v7, sama kogemust kui teistel pikslitel. (Pixel 2 omanikud saavad külglaadida Pixel Launcheri uuema versiooni, millel on API uuemast Pixeli seadmest, kuid kasutajate aruanded näitavad animatsioon on endiselt lollakas, isegi kui see aeg-ajalt töötab. Tuletame meelde, et Pixel Launcher on ehitatud Launcher3 peale, nagu enamik aktsiakäivitusi, kuid see sisaldab ka mõningaid Pixeli eksklusiivseid funktsioone.)
Mida on vaja selle API lisamiseks teistele Android-seadmetele? Kahjuks pole sellele lihtsat vastust, sest me ei tea täpselt, kuidas iga OEM oma käivitusrakendust arendab. Arvestades, kuidas Google juhib täpselt täisekraanil liigutustega navigeerimist, kahtlustame, et enamik originaalseadmete tootjaid ei muuda oluliselt liigutuste ja/või QuickStepiga seotud koodi. Välja arvatud juhul, kui originaalseadmete tootja teeb kõik endast oleneva, et tagasi võtta, rikkuda koodi või keelduda värskendamisest Launcher3, siis peaksime nägema, et see API lisatakse OEM-käivititesse alati, kui need asuvad uuesti tulemas Android 12 vabastada. Tegelikult ütles üks originaalseadmete tootja, kellega me rääkisime, ASUS, meile, et nad kavatsevad selle API oma Android 12 värskendusega kaasata. Me ei tea, kas Google on sellest muudatusest originaalseadmete tootjatele teatanud, kuid loodame, et rohkem originaalseadmete tootjaid märkab seda muudatust ja otsustavad lisada API Launcher3 kahvlitesse, et parandada kolmanda osapoole kasutuskogemust kanderaketid.
Töö sellega siiski ei lõpe. Isegi pärast selle API lisamist tuleb teha veel rohkem tööd, et saavutada võrdsus kolmandate osapoolte käivitusseadmete ja OEM-käivitite vahel. Näiteks mõned OEM-seadmed vilguvad, kui kasutaja puudutab ekraani, enne kui kuvatakse avakuva animatsioon. Mõnikord kuvatakse valitud kolmanda osapoole käivitusrakenduse asemel süsteemikäivitusrakendus (seda on minuga paar korda juhtunud). Täiustatud üleminekuanimatsioon on tore, kuid keegi ei taha käivitusrakenduses ega hiljutiste rakenduste ekraanil esinevate vigadega tegeleda, nii et žestikoodide pildid vajavad puhastamist ja/või standardimist.
Täname Kevin Barryt ja Peter Huberit abi eest selles artiklis!