package Ġcom . imp liz studio . android . app . war ung ku owner . ui . activity . register Ċ Ċ import Ġandroid . util . Patterns Ċ import Ġandroidx . h ilt . lifecycle . ViewModel Inject Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . imp liz studio . android . app . war ung ku owner . data . model . Owner Ċ import Ġcom . imp liz studio . android . app . war ung ku owner . data . model . Store Ċ import Ġcom . imp liz studio . android . app . war ung ku owner . data . model . response . War ung Ku Response Ċ import Ġcom . imp liz studio . android . app . war ung ku owner . data . remote . Api Result Ċ import Ġcom . imp liz studio . android . app . war ung ku owner . data . repository . war ung ku . War ung Ku Repository Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠRegister ViewModel Ġ@ ViewModel Inject Ġconstructor ( private Ġval Ġwar ung Ku Repository : ĠWar ung Ku Repository ) Ġ: ĊĠĠĠ ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ is Show ProgressBar Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Show ProgressBar : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ is Show ProgressBar ĊĊĠĠĠ Ġprivate Ġval Ġ_ isError Name Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Error Name : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ isError Name ĊĊĠĠĠ Ġprivate Ġval Ġ_ isError Store Name Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Error Store Name : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ isError Store Name ĊĊĠĠĠ Ġprivate Ġval Ġ_ isError Email Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Error Email : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ isError Email ĊĊĠĠĠ Ġprivate Ġval Ġ_ isError Password Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Error Password : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ isError Password ĊĊĠĠĠ Ġprivate Ġval Ġ_ is Enable Register Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Enable Register : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ is Enable Register ĊĊĠĠĠ Ġprivate Ġval Ġ_ response Body Ġ= ĠMutable LiveData < War ung Ku Response . Data < Owner >>() ĊĠĠĠ Ġval Ġresponse Body : ĠLive Data < War ung Ku Response . Data < Owner >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ response Body ĊĊĠĠĠ Ġprivate Ġval Ġ_ response Code Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġval Ġresponse Code : ĠLive Data < Int > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ response Code ĊĊĠĠĠ Ġfun Ġon Name TextChanged ( name : ĠCharSequence ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ isError Name . value Ġ= Ġname . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġit . length Ġ< Ġ 4 Ġ} ĊĠĠĠĠĠĠĠ Ġ_ is Enable Register . value Ġ= Ġis Enable Register () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Store Name TextChanged ( name : ĠCharSequence ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ isError Store Name . value Ġ= Ġname . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġit . length Ġ< Ġ 4 Ġ} ĊĠĠĠĠĠĠĠ Ġ_ is Enable Register . value Ġ= Ġis Enable Register () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Email TextChanged ( email : ĠCharSequence ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ isError Email . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġ! Patterns . EMAIL _ ADDRESS . matcher ( it ). matches () Ġ} ĊĠĠĠĠĠĠĠ Ġ_ is Enable Register . value Ġ= Ġis Enable Register () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Password TextChanged ( password : ĠCharSequence ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ isError Password . value Ġ= Ġpassword . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġit . length Ġ< Ġ 8 Ġ} ĊĠĠĠĠĠĠĠ Ġ_ is Enable Register . value Ġ= Ġis Enable Register () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Enable Register () Ġ= ĊĠĠĠĠĠĠĠ Ġ_ isError Name . value . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġ! it Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ isError Store Name . value . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġ! it Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ isError Email . value . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġ! it Ġ} Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ isError Password . value . let Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġ! it Ġ} ĊĊĠĠĠ Ġfun Ġdo Register Account ( owner : ĠOwner , Ġstore : ĠStore ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ_ is Show ProgressBar . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" full _ name " Ġto Ġowner . fullName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" store _ name " Ġto Ġstore . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġowner . email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" password " Ġto Ġowner . password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġresult Ġ= Ġwar ung Ku Repository . do Account Register ( data )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi Result . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Show ProgressBar . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ response Body . post Value ( result . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ response Code . post Value ( result . code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi Result . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Show ProgressBar . post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ response Code . post Value ( result . code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApi Result . Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Show ProgressBar . post Value ( false ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }