package Ġcom . book store . admin . ui . book _ category . add Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . book store . admin . R Ċ import Ġcom . book store . admin . constant . Ret rofit Status Ċ import Ġcom . book store . admin . model . request . book . Add Book Category Request Ċ import Ġcom . book store . admin . ui . main . Main ViewModel Ċ import Ġcom . book store . admin . ui . main . fragment . book _ category . adapter . Book Category Item Listener Ċ import Ġcom . book store . admin . utils . View Helper . hide Ċ import Ġcom . book store . admin . utils . View Helper . show Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Fragment Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlinx . android . synt hetic . main . dialog _ add _ book _ category .* Ċ import Ġorg . k oin . android . view model . ext . android . shared ViewModel Ċ import Ġorg . k oin . android . view model . ext . android . viewModel Ċ Ċ class ĠAdd Book Category Dialog Ġprivate Ġconstructor () Ġ: ĠBottom Sheet Dialog Fragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" Add Book Category Dialog " ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbook Category Item Listener : ĠBook Category Item Listener ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ): ĠAdd Book Category Dialog Ġ= ĠAdd Book Category Dialog (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . book Category Item Listener Ġ= Ġbook Category Item Listener ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmain ViewModel : ĠMain ViewModel Ġby Ġshared ViewModel () ĊĠĠĠ Ġprivate Ġval Ġadd Book Category ViewModel : ĠAdd Book Category ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġvar Ġbook Category Item Listener : ĠBook Category Item Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ= Ġinflater . inflate ( R . layout . dialog _ add _ book _ category , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġ@ Suppress Lint (" Default Locale ") ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġadd Book Category ViewModel . add Book Category Response . observe ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Lifecycle Owner , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObserver Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Status . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . book Category ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbook Category Item Listener ?. on Item Add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Successfully Ġadd Ġnew Ġbook Ġcategory ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Status . UN AUTHORIZ ED Ġ-> Ġmain ViewModel . logout ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent _ layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" There Ġis Ġan Ġerror Ġwhen Ġadding Ġnew Ġbook Ġcategory ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġbutton _ cancel . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbutton _ save . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġinput _ book _ category _ name . edit Text ?. text . toString (). trim (). capitalize () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġinput _ book _ category _ code . edit Text ?. text . toString (). trim (). toUpperCase () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput _ book _ category _ name . error Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . isEmpty ()) Ġ" Please Ġinput Ġa Ġbook Ġcategory Ġname " Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput _ book _ category _ code . error Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( code . isEmpty ()) Ġ" Please Ġinput Ġa Ġbook Ġcategory Ġcode " Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . isNotEmpty () Ġ&& Ġcode . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadd Book Category Request Ġ= ĠAdd Book Category Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Ġ= Ġcode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Book Category ViewModel . add Book Category ( add Book Category Request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton _ cancel . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġbutton _ save . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġloading . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġloading . hide () ĊĠĠĠĠĠĠĠ Ġbutton _ cancel . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġbutton _ save . isEnabled Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ }