package Ġco . om ise . android . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View . IN VISIBLE Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġco . om ise . android . R Ċ import Ġco . om ise . android . extensions . setOn After Text ChangeListener Ċ import Ġco . om ise . android . extensions . setOnClickListener Ċ import Ġco . om ise . android . models . Source Ċ import Ġco . om ise . android . models . Source Type Ċ import Ġkotlinx . android . synt hetic . main . fragment _ true _ money _ form .* Ċ Ċ /** Ċ Ġ* ĠTrue Money Form Fragment Ġis Ġthe ĠUI Ġclass Ġfor Ġhandling ĠTrue Money Ġpayment Ġmethod . Ċ Ġ*/ Ċ class ĠTrue Money Form Fragment Ġ: ĠOm ise Fragment () Ġ{ ĊĠĠĠ Ġvar Ġrequest er : ĠPayment Creator Request er < Source >? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval ĠphoneNumber Edit : ĠOm ise EditText Ġby Ġlazy Ġ{ Ġedit _ phone _ number Ġ} ĊĠĠĠ Ġprivate Ġval ĠphoneNumber Error Text Ġby Ġlazy Ġ{ Ġtext _ phone _ number _ error Ġ} ĊĠĠĠ Ġprivate Ġval Ġsubmit Button : ĠButton Ġby Ġlazy Ġ{ Ġbutton _ submit Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ true _ money _ form , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . payment _ true money _ title ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĊĠĠĠĠĠĠĠ Ġwith ( phoneNumber Edit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Focus ChangeListener (:: update Error Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On After Text ChangeListener (:: update Submit Button ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsubmit Button . setOnClickListener (:: submit Form ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Error Text ( view : ĠView , Ġhas Focus : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( has Focus Ġ|| ĠphoneNumber Edit . isValid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( phoneNumber Error Text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠIN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠphoneNumber Error Text . text Ġ= ĠgetString ( R . string . error _ invalid _ phone _ number ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Submit Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġsubmit Button . isEnabled Ġ= ĠphoneNumber Edit . isValid ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubmit Form () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest er Ġ= Ġrequest er Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval ĠphoneNumber Ġ= ĠphoneNumber Edit . text ?. toString ()?. trim (). or Empty () ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠSource . Create Source RequestBuilder ( requester . amount , Ġrequest er . currency , ĠSource Type . True Money ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. phoneNumber ( phoneNumber ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġview ?. let Ġ{ Ġset All Views Enabled ( it , Ġfalse ) Ġ} ĊĠĠĠĠĠĠĠ Ġrequest er . request ( request ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. let Ġ{ Ġset All Views Enabled ( it , Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ