Android O automātiskās aizpildes sistēma beidzot atrisinās ilgstošu kavēšanās problēmu ar paroļu pārvaldniekiem

Jaunais automātiskās aizpildes ietvars operētājsistēmā Android O atrisinās ilgstošu kavēšanās problēmu, kas saistīta ar paroļu pārvaldnieku pieejamības pakalpojumiem.

Ir pagājis jau mēnesis kopš Google izlaida pirmais Android O izstrādātāja priekšskatījums (laiks noteikti paskrien ātri!), un, tāpat kā ar jebkuru jauno Android versiju, ir daudz ko iedziļināties. Mēs esam publicējuši daudz rakstu jau ir par Android O, taču ir viena funkcija, kurai, manuprāt, nav pievērsta pienācīga uzmanība: Automātiskās aizpildes ietvars.

Automātiskā aizpilde operētājsistēmā Android O

Mūsdienās paroļu pārvaldnieki ir ducis (lai gan mēs tādi esam daļēji atvērtā koda KeePass), taču Google patiešām oficiāli atbalsta paroļu pārvaldniekus tikai operētājsistēmā Android O. Izmantojot Android O, trešo pušu lietojumprogrammas var aizpildīt automātiskās aizpildes pakalpojuma sarakstu, kas sazinās ar lietotnēm, izmantojot jauno automātiskās aizpildes sistēmu. Programmas, kas izmanto standarta Skatīt elementi darbosies kopā ar automātiskās aizpildes ietvaru, lai gan izstrādātāji var veikt papildu darbības, lai 

optimizēt automātiskai aizpildīšanai lai nodrošinātu, ka jebkuru no lietotnes pielāgotajiem skatiem var automātiski aizpildīt.

Kad tiek fokusēts automātiski aizpildāms skats, automātiskās aizpildes ietvars izsauks automātiskās aizpildes pieprasījumu. Automātiskās aizpildes pakalpojums reaģē, nosūtot atpakaļ noteiktas automātiskās aizpildes datu kopas (piemēram, lietotājvārdu, paroli, adresi, kredītkaršu numurus utt.), ko lietotājs pēc tam var atlasīt. Automātiskās aizpildes pakalpojumu lietotājs norāda sadaļā Iestatījumi --> Lietotnes un paziņojumi --> Noklusējuma lietotnes --> Automātiskās aizpildes lietotne.

Automātiskās aizpildes lietotne operētājsistēmā Android O. Kredīti: Lastpass.

Iepriekš sniegtais jaunā automātiskās aizpildes ietvara skaidrojums ir tikai īss kopsavilkums par to, kas notiek gan pieprasītājas lietotnes, gan automātiskās aizpildes pakalpojuma beigās. Vissvarīgākais jūsu izpratnei ir nevis precīza informācija par to, kā automātiskā aizpilde darbojas operētājsistēmā Android O, bet gan fakts, ka pašas paroļu pārvaldnieka lietotnes vairs nenosaka, kad skatu var automātiski aizpildīt.


Ieteicamā literatūra: AgileBits parāda, kā izskatīsies Android O automātiskās aizpildes sistēma


Automātiskā aizpilde pirms Android O

Salīdziniet to ar to, kā automātiskā aizpilde darbojās pirms Android O. Pirms paroļu pārvaldniekiem bija jebkāda veida oficiāla metode, lai noteiktu, kad skats var tikt automātiski aizpildīts lietojumprogrammai bija jāievieš pieejamības pakalpojums, lai skenētu pašreizējo skatu un atrastu automātiski aizpildāmo lauki.

Tomēr pieejamības pakalpojuma izmantošana var rada ievērojamu nobīdi noteiktos apstākļos. Tomēr aizkave, kas saistīta ar jūsu parasto paroļu pārvaldnieka pieejamības pakalpojumu, ir tik acīmredzama, ka populāriem pakalpojumiem, piemēram, LastPass, pat ir atbalsta lapas par šo jautājumu. Šajās atbalsta lapās parasti ir norādīts, ka jūsu vienīgais veids, kā novērst pārmērīgu kavēšanos, ko izraisa to Pieejamības pakalpojumam ir jāatspējo pieejamības pakalpojums vai jāpārslēdzas uz savas pielāgotās ievades izmantošanu metodi. Jebkurā gadījumā jūs zaudējat jebkāda veida automātiskās aizpildīšanas iespējas.

Bet kāpēc tieši LastPass pieejamības pakalpojums vai jebkura cita paroļu pārvaldnieka pieejamības pakalpojums, šķiet, rada tik lielu kavēšanos? Iemesls ir tāpēc, ka šiem paroļu pārvaldniekiem ir jāizmanto pieejamības pakalpojumi, lai noteiktu ievades laukus. Pieejamības pakalpojums atribūti ir definēti an XML resursa fails APK, lai mēs varētu redzēt, kā pakalpojums darbojas, dekompilējot APK failu.

Tālāk ir sniegts resursa fails, kas iegūts, dekompilējot 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 />

No tā mēs varam iegūt šādu informāciju: LastPass pieejamības pakalpojums pieprasa pārraudzīt divus notikumu veidus — TYPE_VIEW_FOCUSED un TYPE_WINDOW_CONTENT_CHANGED. Tas tiek darīts, jo tam ir jāzina, kad lietotnes/tīmekļa lapas saturs mainās vai tiek fokusēts, un pēc tam izgūst pašreizējo loga saturu, lai meklētu paroles ievades laukus. Taču, tā kā pakalpojums pastāvīgi to dara divos īpaši bieži aktivizētos pieejamības notikumos, tas rada aizkavi. Lai iegūtu padziļinātu diskusiju par to, kā pieejamības pakalpojumi var izraisīt kavēšanos, es atsaucos uz manu iepriekšējo rakstu par šo jautājumu.


Ieteicamā literatūra: "Strādā kā paredzēts" — Android pieejamības kavēšanās izpēte


Android O nogalina divus putnus ar vienu akmeni

Pirms Android O paroļu pārvaldnieku izstrādātāji nevarēja darīt daudz, lai mazinātu šo kavēšanos. Tas ir tāpēc, ka paroļu pārvaldnieki nevarēja zināt, kad ekrānā ir redzams automātiski aizpildāms ievades lauks, neļaujot pieejamības pakalpojumam tos pastāvīgi uzraudzīt. Taču, pateicoties jaunajam automātiskās aizpildes ietvaram operētājsistēmā Android O, šie paroļu pārvaldnieki tagad var pārtraukt savus pieejamības pakalpojumus. Tā vietā lietotnes, kurām pašām ir jāievada dati, pieprasīs automātiskās aizpildes ietvaram izsaukt automātiskās aizpildes pakalpojumu, kas pēc tam nosūtīs datus. Pateicoties šai jaunajai sistēmai, paroles ievadīšana lietotājiem kļūs daudz vienkāršāka, jo viņiem vairs nav jāpaļaujas uz papildu ievades metode, taču aizkavēšanās, kas saistīta ar paroļu pārvaldnieku pieejamības pakalpojumu iespējošanu, būs svarīga pagātne.

Es zinu, ka dažiem no jums šis fakts var nebūt revolucionārs, taču es domāju, ka, tā kā diskusija par pieejamības pakalpojumu bija tik klusa, šo tēmu varētu būt vērts atdzīvināt. Tikai viela pārdomām šajā nedēļas nogalē!


Ko jūs domājat par Android O jauno automātiskās aizpildes sistēmu? Paziņojiet mums zemāk esošajos komentāros!