Rámec automatického dopĺňania systému Android O konečne vyrieši dlhotrvajúci problém s oneskorením so správcami hesiel

Nový rámec automatického dopĺňania v systéme Android O vyrieši dlhotrvajúci problém s oneskorením spojený so službami dostupnosti správcov hesiel.

Už je to mesiac, čo spoločnosť Google vydala prvá ukážka vývojára pre Android O (čas určite rýchlo letí!) a ako pri každej novej verzii Androidu, je tu veľa, do čoho sa dá kopať. Zverejnili sme veľa článkov o systéme Android O, ale je tu jedna funkcia, o ktorej si myslím, že sa jej skutočne nevenovala pozornosť, ktorú by si zaslúžila: Rámec automatického dopĺňania.

Automatické dopĺňanie v systéme Android O

Správcovia hesiel sú v dnešnej dobe desiatka (hoci sme čiastočne na open source KeePass), ale iba v systéme Android O Google skutočne oficiálne podporuje správcov hesiel. V systéme Android O môžu aplikácie tretích strán vyplniť rolu služby automatického dopĺňania, ktorá komunikuje s aplikáciami prostredníctvom nového rámca automatického dopĺňania. Aplikácie, ktoré používajú štandard vyhliadka prvky budú fungovať s rámcom automatického dopĺňania hneď po vybalení, aj keď existujú ďalšie kroky, ktoré môžu vývojári vykonať 

optimalizovať pre automatické dopĺňanie aby ste zabezpečili, že ľubovoľné z vlastných zobrazení aplikácie bude možné automaticky vyplniť.

Keď sa automaticky vyplní zobrazenie, systém automatického dopĺňania vyvolá požiadavku na automatické dopĺňanie. Služba automatického dopĺňania odpovedá odoslaním určitých množín údajov automatického dopĺňania (ako je používateľské meno, heslo, adresa, čísla kreditných kariet atď.), ktoré si potom používateľ môže vybrať. Službu automatického dopĺňania určuje používateľ v časti Nastavenia --> Aplikácie a upozornenia --> Predvolené aplikácie --> Aplikácia automatického dopĺňania.

Aplikácia automatického dopĺňania v systéme Android O. Kredity: Lastpass.

Vysvetlenie nového rámca automatického dopĺňania vyššie je len stručným zhrnutím toho, čo sa deje na konci žiadajúcej aplikácie aj služby automatického dopĺňania. Pre vaše pochopenie tu nie sú najdôležitejšie presné podrobnosti o tom, ako funguje automatické dopĺňanie v systéme Android O, ale skutočnosť, že samotné aplikácie na správu hesiel už nedokážu zisťovať, kedy je možné zobrazenie automaticky vyplniť.


Odporúčané čítanie: AgileBits ukazuje, ako bude vyzerať systém automatického dopĺňania Android O


Automatické dopĺňanie pred Androidom O

Porovnajte to s tým, ako fungovalo automatické dopĺňanie pred Androidom O. Predtým, ako správcovia hesiel mali nejakú oficiálnu metódu na zistenie, kedy je možné zobrazenie automaticky vyplniť aplikácia musela implementovať Službu dostupnosti na skenovanie aktuálneho zobrazenia, aby našla automatické vyplnenie poliach.

Použitie služby dostupnosti však môže mať za následok značné oneskorenie za určitých podmienok. Oneskorenie spojené so službou dostupnosti vášho typického správcu hesiel je však také zrejmé, že obľúbené služby, ako je LastPass, dokonca stránky podpory k danej problematike. Tieto stránky podpory vám zvyčajne povedia, že váš jediný spôsob, ako sa vysporiadať s nadmerným oneskorením spôsobeným ich Služba zjednodušenia ovládania slúži na zakázanie služby prístupnosti alebo na prepnutie na používanie vlastného vlastného vstupu metóda. V každom prípade stratíte akúkoľvek schopnosť automatického dopĺňania.

Prečo sa však zdá, že služba prístupnosti LastPass alebo akákoľvek iná služba prístupnosti správcu hesiel spôsobuje také veľké oneskorenie? Dôvodom je to, ako musia títo správcovia hesiel využívať služby dostupnosti na zisťovanie vstupných polí. Služba dostupnosti atribúty sú definované v an Zdrojový súbor XML v rámci súboru APK, takže dekompiláciou súboru APK môžeme vidieť, ako služba funguje.

Nižšie je uvedený zdrojový súbor prevzatý z dekompilácie LastPass APK:


"@string/accessibility_service_description"
android: accessibilityEventTypes="typeViewFocused|typeWindowContentChanged"
android: accessibilityFeedbackType="feedbackGeneric"
android: notificationTimeout="200"
android: accessibilityFlags="flagReportViewIds"
android: canRetrieveWindowContent="true"
android: canRequestEnhancedWebAccessibility="true"
xmlns: andro />

Z toho môžeme získať nasledujúce informácie: Služba dostupnosti LastPass vyžaduje dva typy udalostí na monitorovanie – TYPE_VIEW_FOCUSED a TYPE_WINDOW_CONTENT_CHANGED. Robí to preto, že potrebuje vedieť, kedy sa obsah aplikácie/webovej stránky zmení alebo dostane do pozornosti, a potom načíta aktuálny obsah okna, aby vyhľadal polia na zadanie hesla. Ale keďže to služba neustále robí pri dvoch mimoriadne často sa spúšťajúcich udalostiach dostupnosti, výsledkom je oneskorenie. Ak chcete získať hlbšiu diskusiu o tom, ako môžu služby dostupnosti spôsobiť oneskorenie, odkazujem vám na môj predchádzajúci článok o tejto záležitosti.


Odporúčané čítanie: „Pracujeme podľa plánu“ – prieskum oneskorenia dostupnosti systému Android


Android O zabije dvoch vtákov jedným kameňom

Pred Androidom O nebolo v skutočnosti veľa vývojárov správcov hesiel, ktorí by mohli urobiť na zmiernenie tohto oneskorenia. Je to preto, že správcovia hesiel nemali žiadny spôsob, ako zistiť, kedy sa na obrazovke nachádza automaticky vyplniteľné vstupné pole, bez toho, aby umožnili službe dostupnosti, aby ich neustále monitorovala. Ale vďaka novému rámcu automatického dopĺňania v systéme Android O môžu títo správcovia hesiel teraz ukončiť svoje služby dostupnosti. Namiesto toho si aplikácie, ktoré potrebujú zadávanie údajov, vyžiadajú rámec automatického dopĺňania, aby zavolal službu automatického dopĺňania, ktorá potom údaje odošle. Vďaka tomuto novému rámcu bude zadávanie hesla pre používateľov nielen oveľa jednoduchšie, pretože sa už nemusia spoliehať na dodatočná metóda vstupu, ale oneskorenie spojené s povolením služieb dostupnosti správcov hesiel bude samozrejmosťou minulosti.

Viem, že pre niektorých z vás nemusí byť táto skutočnosť prelomová, ale myslel som si, že keďže diskusia o Službe dostupnosti bola taká tichá, možno by stálo za to znovu rozprúdiť túto tému. Len pár vecí na zamyslenie tento víkend!


Čo si myslíte o novom systéme automatického dopĺňania Android O? Dajte nám vedieť v komentároch nižšie!