Нови оквир за аутоматско попуњавање у Андроид-у О ће решити дугогодишњи проблем са кашњењем повезан са услугама приступачности менаџера лозинки.
Већ је прошло месец дана откако је Гоогле објавио први преглед Андроид О програмера (време сигурно лети брзо!), и као и са сваком новом верзијом Андроид-а - има много тога да се копа. Објавили смо доста чланака већ о Андроиду О, али постоји једна карактеристика за коју мислим да није добила пажњу коју заслужује: Аутофилл Фрамеворк.
Аутоматско попуњавање у Андроид О
Менаџери лозинки су ових дана безброј десетина (иако смо ми делимично у односу на КееПасс отвореног кода), али само са Андроидом О Гоогле заиста званично подржава менаџере лозинки. Уз Андроид О, апликације трећих страна могу да попуне ролну услуге аутоматског попуњавања, која комуницира са апликацијама преко новог оквира за аутоматско попуњавање. Апликације које користе стандард Поглед елементи ће радити са Аутофилл Фрамеворк-ом без употребе, мада постоје додатни кораци које програмери могу предузети
оптимизовати за аутоматско попуњавање да би се осигурало да се било који од прилагођених приказа апликације може аутоматски попунити.Када у фокус дође приказ који се може аутоматски попуњавати, оквир за аутоматско попуњавање ће позвати захтев за аутоматско попуњавање. Услуга аутоматског попуњавања одговара тако што шаље одређене скупове података за аутоматско попуњавање (као што су корисничко име, лозинка, адреса, бројеви кредитних картица, итд.) које корисник може да изабере. Услугу аутоматског попуњавања одређује корисник у Подешавања --> Апликације и обавештења --> Подразумеване апликације --> Апликација Аутоматско попуњавање.
Објашњење новог оквира за аутоматско попуњавање изнад је само кратак резиме онога што се дешава и на крају апликације која захтева и на крају услуге аутоматског попуњавања. Оно што је најважније за ваше разумевање овде нису тачни детаљи о томе како функционише аутоматско попуњавање у Андроид О, већ чињеница да Саме апликације за управљање лозинкама више не откривају када се приказ може аутоматски попунити.
Препоручено читање: АгилеБитс показује како ће изгледати оквир за аутоматско попуњавање Андроид О
Аутоматско попуњавање пре Андроид О
Упоредите то са начином на који је аутоматско попуњавање функционисало пре Андроид О. Пре него што су менаџери лозинки имали било какву званичну методу да открију када се приказ може аутоматски попунити, сваки апликација је морала да имплементира услугу приступачности да скенира тренутни приказ како би пронашла могућност аутоматског попуњавања поља.
Међутим, коришћење услуге приступачности може резултирају значајним заостајањем под одређеним условима. Међутим, кашњење повезано са услугом приступачности вашег типичног менаџера лозинки толико је очигледно да популарне услуге као што је ЛастПасс чак имају странице подршке горе у вези са овим питањем. Ове странице за подршку вам обично говоре да је ваш једини начин да се носите са прекомерним заостајањем узрокованим њиховим Услуга приступачности је да или онемогућите услугу приступачности или да пређете на коришћење сопственог прилагођеног уноса методом. У сваком случају, губите било какву способност аутоматског попуњавања.
Али зашто се чини да ЛастПасс-ова услуга приступачности, или било која друга услуга приступачности менаџера лозинки, узрокује толико заостајања? Разлог је то што ови менаџери лозинки морају да користе услуге приступачности за откривање поља за унос. Услуга приступачности атрибути дефинисани су у ан КСМЛ датотека ресурса унутар АПК-а, тако да можемо да видимо како Услуга функционише декомпајлирањем АПК датотеке.
Испод је датотека ресурса преузета из декомпилације ЛастПасс АПК-а:
"@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 />
Из овога можемо да извучемо следеће информације: ЛастПасс-ова услуга приступачности захтева два типа догађаја за праћење - ТИПЕ_ВИЕВ_ФОЦУСЕД и ТИПЕ_ВИНДОВ_ЦОНТЕНТ_ЦХАНГЕД. То ради зато што треба да зна када се садржај апликације/веб странице промени или дође у фокус, а затим преузима тренутни садржај прозора да би потражио било која поља за унос лозинке. Али пошто услуга то стално ради на два изузетно често активирана догађаја приступачности, то доводи до кашњења. За детаљнију дискусију о томе како услуге приступачности могу да изазову кашњење, упућујем вам мој претходни чланак о томе.
Препоручено читање: „Ради како је предвиђено“ – истраживање заостајања у приступачности Андроид-а
Андроид О убија две муве једним ударцем
Пре Андроид О, програмери менаџера лозинки нису могли много да учине да би ублажили ово заостајање. То је зато што менаџери лозинки нису имали начина да сазнају када је поље за унос које се може аутоматски попунити на екрану, а да нису омогућили услузи приступачности да их стално надгледа. Али захваљујући новом оквиру за аутоматско попуњавање у Андроид О, ови менаџери лозинки сада могу да повуку своје услуге приступачности. Уместо тога, апликације којима је сам потребан унос података ће захтевати од оквира за аутоматско попуњавање да позове услугу аутоматског попуњавања која ће затим послати податке. Захваљујући овом новом оквиру, не само да ће унос лозинке постати много лакши за кориснике јер више не морају да се ослањају на додатни метод уноса, али кашњење повезано са омогућавањем услуга приступачности менаџера лозинки ће бити ствар прошлост.
Знам да за неке од вас ова чињеница можда није револуционарна, али сам мислио да би, пошто је дискусија око Службе приступачности била тако тиха, ова тема можда вредела да се поново покрене. Само мало хране за размишљање овог викенда!
Шта мислите о новом оквиру за аутоматско попуњавање Андроид О? Обавестите нас у коментарима испод!