Cadrul de completare automată al Android O va rezolva în sfârșit o problemă de întârziere de lungă durată cu managerii de parole

Noul cadru de completare automată din Android O va rezolva o problemă de întârziere de lungă durată asociată cu serviciile de accesibilitate ale managerilor de parole.

A trecut deja o lună de când Google a lansat primul Android O Developer Preview (timpul zboară repede!) Și, ca în orice versiune nouă de Android - sunt multe de făcut. Noi am publicat o multime de articole despre Android O deja, dar există o caracteristică care cred că nu a primit cu adevărat atenția pe care o merită: Cadrul de completare automată.

Completare automată în Android O

Managerii de parole sunt de un ban pe duzină în aceste zile (deși noi suntem parțial la KeePass cu sursă deschisă), dar numai cu Android O Google acceptă cu adevărat administratorii de parole. Cu Android O, aplicațiile terță parte pot completa lista unui serviciu de completare automată, care comunică cu aplicațiile prin noul cadru de completare automată. Aplicații care folosesc standard Vedere elementele vor funcționa cu Cadrul de completare automată din cutie, deși există pași suplimentari pe care dezvoltatorii îi pot face 

optimizați pentru completare automată pentru a vă asigura că oricare dintre vizualizările personalizate ale aplicației poate fi completată automat.

Când o vizualizare care poate fi completată automat intră în atenție, cadrul de completare automată va invoca o solicitare de completare automată. Serviciul de completare automată răspunde trimițând înapoi anumite seturi de date de completare automată (cum ar fi numele de utilizator, parola, adresa, numerele cărților de credit etc.) pe care utilizatorul le poate selecta apoi. Serviciul de completare automată este specificat de utilizator în Setări --> Aplicații și notificări --> Aplicații implicite --> Aplicație de completare automată.

Aplicația de completare automată în Android O. Credite: Ultima trecere.

Explicația noului cadru de completare automată de mai sus este doar un scurt rezumat al ceea ce se întâmplă atât la sfârșitul aplicației solicitante, cât și la sfârșitul serviciului de completare automată. Ceea ce este cel mai important pentru înțelegerea dvs. aici nu sunt detaliile exacte despre cum funcționează completarea automată în Android O, ci faptul că Aplicațiile de gestionare a parolelor nu se mai ocupă de detectarea când o vizualizare poate fi completată automat.


Lectură recomandată: AgileBits arată cum va arăta Cadrul de completare automată al Android O


Completare automată înainte de Android O

Compară asta cu modul în care a funcționat completarea automată înainte de Android O. Înainte, managerii de parole aveau vreun fel de metodă oficială pentru a detecta când o vizualizare putea fi completată automat, fiecare aplicația a trebuit să implementeze un serviciu de accesibilitate pentru a scana vizualizarea curentă pentru a găsi opțiunea de completare automată câmpuri.

Utilizarea unui serviciu de accesibilitate, totuși, poate rezultă în decalaj considerabil sub anumite conditii. Întârzierea asociată cu serviciul de accesibilitate al managerului de parole tipic este totuși atât de evidentă încât serviciile populare precum LastPass chiar au pagini de suport sus cu privire la problema. Aceste pagini de asistență vă spun de obicei că singura dvs. soluție pentru a face față întârzierilor excesive cauzate de acestea Serviciul de accesibilitate este fie de a dezactiva Serviciul de accesibilitate, fie de a trece la utilizarea propriei intrări personalizate metodă. Oricum, pierzi orice fel de capacitate de completare automată.

Dar de ce exact Serviciul de accesibilitate LastPass, sau serviciul de accesibilitate al oricărui alt manager de parole, par să provoace atât de mult decalaj? Motivul se datorează modului în care acești manageri de parole trebuie să utilizeze Serviciile de accesibilitate pentru a detecta câmpurile de introducere. Un serviciu de accesibilitate atribute sunt definite într-o fișier cu resurse XML în APK, astfel încât să putem vedea cum funcționează Serviciul prin decompilarea fișierului APK.

Mai jos este fișierul de resurse preluat din decompilarea APK-ului LastPass:


"@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 />

Din aceasta, putem culege următoarele informații: Serviciul de accesibilitate LastPass solicită monitorizarea a două tipuri de evenimente - TYPE_VIEW_FOCUSED și TYPE_WINDOW_CONTENT_CHANGED. Face acest lucru deoarece trebuie să știe când conținutul unei aplicații/pagini web se modifică sau intră în atenție, apoi preia conținutul actual al ferestrei pentru a căuta orice câmpuri de introducere a parolei. Dar, deoarece serviciul face acest lucru în mod constant la două evenimente de accesibilitate care declanșează extrem de frecvent, are ca rezultat întârziere. Pentru o discuție mai aprofundată asupra modului în care serviciile de accesibilitate pot cauza întârziere, mă refer la articolul meu anterior despre această problemă.


Lectură recomandată: „Funcționează conform intenției” - O explorare a decalajului de accesibilitate al Android


Android O ucide două păsări dintr-o piatră

Înainte de Android O, dezvoltatorii de manageri de parole nu ar putea face prea multe pentru a atenua acest decalaj. Acest lucru se datorează faptului că managerii de parole nu aveau de unde să știe când un câmp de introducere care se poate completa automat era pe ecran fără a permite unui serviciu de accesibilitate să le monitorizeze în mod constant. Dar datorită noului cadru de completare automată din Android O, acești manageri de parole își pot retrage acum serviciile de accesibilitate. În schimb, aplicațiile care au nevoie de introducerea datelor vor solicita cadru de completare automată să apeleze serviciul de completare automată care va trimite apoi datele. Datorită acestui nou cadru, nu numai că introducerea parolei va deveni mult mai ușoară pentru utilizatori, deoarece aceștia nu mai trebuie să se bazeze pe un metodă de introducere suplimentară, dar întârzierea asociată cu activarea serviciilor de accesibilitate ale managerilor de parole va fi o problemă a trecut.

Știu că pentru unii dintre voi, acest fapt poate să nu fie inovator, dar m-am gândit că, din moment ce discuția despre Serviciul de accesibilitate era atât de mută, acest subiect ar fi meritat să fie reaprins. Doar ceva de gândit în acest weekend!


Ce părere aveți despre noul cadru de completare automată de la Android O? Spune-ne în comentariile de mai jos!