package Ġcom . pap age org iou k . cur fns ur f . ui . form . id Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġcom . microsoft . app center . analytics . Analytics Ċ import Ġcom . pap age org iou k . cur fns ur f . R Ċ import Ġcom . pap age org iou k . cur fns ur f . ui . form . Form Fragment Ċ import Ġkotlinx . android . synt hetic . main . id _ fragment .* Ċ import Ġkotlinx . coroutines . flow .* Ċ import Ġorg . k oin . android . view model . ext . android . viewModel Ċ import Ġreactive circ us . flow binding . android . widget . editor Action Events Ċ import Ġreactive circ us . flow binding . android . widget . text Changes Ċ Ċ class ĠId Fragment Ġ: ĠForm Fragment ( R . layout . id _ fragment ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠId ViewModel Ġby ĠviewModel () ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . id Error Flow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit ?. let Ġ{ ĠgetString ( it ) Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Each Ġ{ Ġerror OrNull Ġ-> Ġbox _ id . error Ġ= Ġerror OrNull Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. launch In ( lifecycle Scope ) ĊĊĠĠĠĠĠĠĠ Ġinput _ id . editor Action Events Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ editor Action Events Ġif Ġ( it . action Id Ġ== ĠEditor Info . IME _ ACTION _ NEXT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnalytics . track Event (" Id Ġset ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproceed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġfalse ĊĠĠĠĠĠĠĠ Ġ}. launch In ( lifecycle Scope ) ĊĊĠĠĠĠĠĠĠ Ġinput _ id . setText ( viewModel . id ) ĊĊĠĠĠĠĠĠĠ Ġinput _ id . text Changes ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. de bounce ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. drop ( 1 ) Ġ Ġ// Ġ Ġfirst Ġone Ġis Ġalways Ġempty ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Each Ġ{ ĠviewModel . id Ġ= Ġit . toString () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. launch In ( lifecycle Scope ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( input _ id . request Focus ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimm Ġ= Ġrequire Context (). getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimm . show Soft Input ( input _ id , ĠInput Method Manager . SHOW _ IMP LICIT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ