package Ġde . ham ur asa . main . fragments . dialogs Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġde . ham ur asa . R Ċ import Ġde . ham ur asa . data . voc able . Language Ċ import Ġde . ham ur asa . data . voc able . V oc able Ċ import Ġde . ham ur asa . data . voc able . V oc able Type Ċ import Ġde . ham ur asa . util . Base Dialog Ċ import Ġde . ham ur asa . util . Base ViewModel Ċ import Ġde . ham ur asa . util . isValid Ċ import Ġde . ham ur asa . util . toast Ċ import Ġde . ham ur asa . util . widgets . after Selected Changed Ċ import Ġde . ham ur asa . util . widgets . bind Ċ import Ġde . ham ur asa . util . widgets . init Adapter Ċ import Ġkotlinx . android . synt hetic . main . dialog _ new _ voc able .* Ċ Ċ abstract Ġclass ĠBase New V oc able Dialog ( ĊĠĠĠ Ġprivate Ġval Ġv oc able : ĠV oc able Ċ ) Ġ: ĠBase Dialog (), ĊĠĠĠ ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġprotected Ġabstract Ġval Ġmy ViewModel : ĠBase ViewModel ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ= ĠR . layout . dialog _ new _ voc able ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġv oc able . id Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġnew _ voc able _ type _ spinner . init Adapter < V oc able Type >() ĊĠĠĠĠĠĠĠ Ġnew _ voc able _ language _ spinner . init Adapter < Language >() ĊĊĠĠĠĠĠĠĠ Ġnew _ voc able _ value _ edit Text . bind ( voc able :: value ) ĊĠĠĠĠĠĠĠ Ġnew _ voc able _ translations _ edit Text . bind ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxLength Ġ= Ġ 2 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Ġ= Ġv oc able :: translation , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtoString Ġ= Ġ{ Ġlist : ĠList < String > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . isNotEmpty ()) Ġlist . reduce Ġ{ Ġa , Ġb Ġ-> Ġ"$ a ,$ b " Ġ} Ġelse Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . split (",") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnew _ voc able _ add _ button . setOnClickListener ( this ) ĊĊĊĠĠĠĠĠĠĠ Ġnew _ voc able _ type _ spinner . bind ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv oc able :: type , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtoString Ġ= ĠV oc able Type :: toString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverter Ġ= Ġ{ ĠV oc able Type . valueOf ( it ) Ġ}) ĊĊĠĠĠĠĠĠĠ Ġnew _ voc able _ language _ spinner . bind ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv oc able :: language , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtoString Ġ= ĠLanguage :: toString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverter Ġ= Ġ{ ĠLanguage . valueOf ( it ) Ġ}) ĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! voc able . isValid ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. toast (" Please Ġfill Ġin Ġall Ġthe Ġinformation .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon Add V oc able () ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġabstract Ġfun Ġon Add V oc able () Ċ } Ċ