package Ġcom . arp adf od or . community park ing . android . app . view Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . arp adf od or . community park ing . android . app . R Ċ import Ġcom . arp adf od or . community park ing . android . app . view . utils . App Fragment Ċ import Ġcom . arp adf od or . community park ing . android . app . view . utils . App Sn ackBar Builder Ċ import Ġcom . arp adf od or . community park ing . android . app . view . utils . over shoot Ap pear ing Animation Ċ import Ġcom . arp adf od or . community park ing . android . app . view model . Account ViewModel Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlinx . android . synt hetic . main . fragment _ account _ edit .* Ċ Ċ class ĠAccount Edit Fragment Ġ: ĠApp Fragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= ĠAccount Edit Fragment :: class . java . simple Name ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠAccount ViewModel ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Params ( viewModel : ĠAccount ViewModel ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . viewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontainer : ĠConstraint Layout ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ account _ edit , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ? ){ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġcontainer Ġ= Ġview Ġas ĠConstraint Layout ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġappearing Animations (){ ĊĠĠĠĠĠĠĠ Ġbtn Cancel ?. over shoot Ap pear ing Animation ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbtn Apply ?. over shoot Ap pear ing Animation ( require Context ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe To ViewModel (){} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe Listeners () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbtn Cancel ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . fragment Tag To Show . post Value ( Account Manage Fragment . TAG ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn Apply ?. setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠnewName Ġ= Ġinput _ change _ name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Password Ġ= Ġinput _ change _ password . text . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( new Name . isEmpty () Ġ&& Ġnew Password . isEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Sn ackBar Builder . build Info Sn ackBar ( require Context (), Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . empty _ change ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Sn ackBar Builder . build Success Sn ackBar ( require Context (), Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . change _ applied ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . fragment Tag To Show . post Value ( Account Manage Fragment . TAG ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Sn ackBar Builder . build Alert Sn ackBar ( require Context (), Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . change _ failed ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . edit Account ( new Name , Ġnew Password , Ġsuccess , Ġerror ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlink Delete ?. setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( require Activity (), ĠLogin Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Sn ackBar Builder . build Alert Sn ackBar ( require Context (), Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . account _ delete _ failed ), ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delete Account ( success , Ġerror ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunsubscribe (){} Ċ Ċ } Ċ