package Ġcom . k rypt kode . farm z . screens . edit far mer . edit personal details . view Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . text . InputType Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . widget . add TextChanged Listener Ċ import Ġcom . k rypt kode . farm z . app . utils . extension . be G one Ċ import Ġcom . k rypt kode . farm z . app . utils . extension . be Visible Ċ import Ġcom . k rypt kode . farm z . app . utils . extension . bind Data Ċ import Ġcom . k rypt kode . farm z . app . utils . extension . set Caps Input Filter Ċ import Ġcom . k rypt kode . farm z . databinding . Layout Edit Personal Details Binding Ċ import Ġcom . k rypt kode . farm z . screens . common . image loader . Image Loader Ċ import Ġcom . k rypt kode . farm z . screens . farm ers . model . Far mer View Ċ Ċ @ Suppress Lint (" Default Locale ") Ċ class ĠEdit Personal Details View Impl ( ĊĠĠĠ Ġprivate Ġval Ġimage Loader : ĠImage Loader , ĊĠĠĠ Ġlayout Inflater : ĠLayoutInflater , ĊĠĠĠ Ġparent : ĠViewGroup ? Ċ ) Ġ: ĠEdit Personal Details View () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbinding Ġ= ĠLayout Edit Personal Details Binding . inflate ( layout Inflater , Ġparent , Ġfalse ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfar mer : ĠFar mer View ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbinding . firstName EditText . set Caps Input Filter () ĊĠĠĠĠĠĠĠ Ġbinding . lastName EditText . set Caps Input Filter () ĊĠĠĠĠĠĠĠ Ġbinding . middle Name EditText . set Caps Input Filter () ĊĊĠĠĠĠĠĠĠ Ġbinding . firstName EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear FirstName Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . lastName EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear LastName Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . date EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear D ob Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . gender EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear Gender Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . occup ation EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear Occup ation Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . national ity EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear National ity Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . mar ital Status EditText . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear Mar ital Status Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . image Pic . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Each Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . onChange Pic () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . fab Save . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Each Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . on Save ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfar mer . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= Ġbinding . firstName EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmiddle Name Ġ= Ġbinding . middle Name EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs urname Ġ= Ġbinding . lastName EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate OfBirth Ġ= Ġbinding . date EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ= Ġbinding . gender EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoccup ation Ġ= Ġbinding . occup ation EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnational ity Ġ= Ġbinding . national ity EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmar ital Status Ġ= Ġbinding . mar ital Status EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspo use Name Ġ= Ġbinding . sp ouse EditText . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . tv Title . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Each Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . on Back Click () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . date EditText . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Each Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . on Choose Date ( binding . date EditText . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . date EditText . input Type Ġ= ĠInput Type . TYPE _ NULL ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Pic ( photo Uri : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġimage Loader . load ( photo Uri , Ġbinding . image Pic ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Personal Details ( far mer : ĠFar mer View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . far mer Ġ= Ġfar mer ĊĠĠĠĠĠĠĠ Ġbinding . firstName EditText . setText ( far mer . firstName . capitalize ()) ĊĠĠĠĠĠĠĠ Ġbinding . middle Name EditText . setText ( far mer . middle Name . capitalize ()) ĊĠĠĠĠĠĠĠ Ġbinding . lastName EditText . setText ( far mer . surname . capitalize ()) ĊĠĠĠĠĠĠĠ Ġbinding . date EditText . setText ( far mer . date OfBirth . capitalize ()) ĊĠĠĠĠĠĠĠ Ġbinding . gender EditText . setText ( far mer . gender . capitalize (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . occup ation EditText . setText ( far mer . occup ation . capitalize ()) ĊĠĠĠĠĠĠĠ Ġbinding . national ity EditText . setText ( far mer . national ity . capitalize ()) ĊĠĠĠĠĠĠĠ Ġbinding . mar ital Status EditText . setText ( far mer . mar ital Status . capitalize (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . sp ouse EditText . setText ( far mer . sp ouse Name . capitalize ()) ĊĊĠĠĠĠĠĠĠ Ġbind Pic ( far mer . passport Photo ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Gender Items ( g enders : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . gender EditText . bind Data ( g enders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Mar ital Status Items ( statuses : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . mar ital Status EditText . bind Data ( statuses ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow FirstName Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . firstName Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow LastName Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . lastName Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow D ob Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . date Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Gender Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . gender Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Occup ation Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . occup ation Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow National ity Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . national ity Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Mar ital Status Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . mar ital Status Input . error Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . progress . root . be G one () ĊĠĠĠĠĠĠĠ Ġbinding . fab Save . isEnabled Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . progress . root . be Visible () ĊĠĠĠĠĠĠĠ Ġbinding . fab Save . isEnabled Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Date Selected ( date : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . date EditText . setText ( date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Errors () Ġ{ ĊĠĠĠĠĠĠĠ Ġclear FirstName Error () ĊĠĠĠĠĠĠĠ Ġclear LastName Error () ĊĠĠĠĠĠĠĠ Ġclear D ob Error () ĊĠĠĠĠĠĠĠ Ġclear Gender Error () ĊĠĠĠĠĠĠĠ Ġclear Occup ation Error () ĊĠĠĠĠĠĠĠ Ġclear National ity Error () ĊĠĠĠĠĠĠĠ Ġclear Mar ital Status Error () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear FirstName Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . firstName Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear LastName Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . lastName Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear D ob Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . date Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Gender Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . gender Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Occup ation Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . occup ation Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear National ity Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . national ity Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Mar ital Status Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . mar ital Status Input . error Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġroot View : ĠView ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbinding . root Ċ Ċ }