package Ġnet . ve zk . contact _ form . presentation Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . lifecycle .* Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġnet . ve zk . contact _ form .* Ċ import Ġnet . ve zk . contact _ form . data . Api Interface Ċ import Ġnet . ve zk . contact _ form . databinding . Activity Main Binding Ċ import Ġnet . ve zk . contact _ form . domain .* Ċ import Ġnet . ve zk . contact _ form . utils . Validator Ċ import Ġretrofit 2 .* Ċ Ċ /** Ċ Ġ* Ġ@ author ĠV ictor ĠE scal ante Ċ Ġ* ĠNov iem bre Ġ 2 0 2 1 Ċ Ġ**/ Ċ Ċ @ Android EntryPoint Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠMain ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĊĠĠĠĠĠĠĠ ĠviewModel . VM response . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠArray Adapter ( this @ MainActivity , ĠR . layout . spinner _ item , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . sp Country . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbinding . vb Accept . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Validator . valid Text ( 1 , Ġbinding . et Email . text . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . et Email . error Ġ= ĠgetString ( R . string . email _ invalid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ(! Validator . valid Text ( 2 , Ġbinding . et Phone . text . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . et Phone . error Ġ= ĠgetString ( R . string . phone _ invalid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsn ackBar Ġ= ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . cl Main , ĠgetString ( R . string . valid Field ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). setAction (" Action ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsn ackBar . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊĊ