package Ġcom . sil k ys ys . um co . ui . wishlist Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . sil k ys ys . um co . R Ċ import Ġcom . sil k ys ys . um co . data . model . products . by Category . Data Item Ċ import Ġcom . sil k ys ys . um co . databinding . Fragment F avour ite Binding Ċ import Ġcom . sil k ys ys . um co . ui . adapter . wishlist . Wish list Adapter Ċ import Ġcom . sil k ys ys . um co . ui . search . Search Activity Ċ import Ġcom . sil k ys ys . um co . util . Base Fragment Ċ import Ġcom . sil k ys ys . um co . util . startActivity Ċ import Ġdagger . h ilt . android . Android EntryPoint ĊĊ Ċ @ Android EntryPoint Ċ class ĠW ish list Fragment Ġ: ĠBase Fragment < Fragment F avour ite Binding >( Fragment F avour ite Binding :: inflate ), ĊĠĠĠ ĠView . OnClickListener , ĠOn Wish list Details Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠW ish list ViewModel ĊĊĊĠĠĠ Ġoverride Ġfun ĠFragment F avour ite Binding . initialize () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Click Listeners () ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this @ Wish list Fragment )[ Wish list ViewModel :: class . java ] ĊĠĠĠĠĠĠĠ ĠviewModel . init Get Wish list (). observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwish list Adapter Ġ= ĠW ish list Adapter ( it , Ġthis @ Wish list Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( wishlist Adapter . item Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . show Empty State ( true , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġbinding . rv Favorite . adapter Ġ= Ġwish list Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( item : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ search Ġ-> Ġrequire Context (). startActivity ( Search Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ back Ġ-> Ġfind Nav Controller (). navigate ( R . id . action _ global _ home _ nav ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ back _ home Ġ-> Ġrequire Activity (). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ try _ again Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( R . id . action _ global _ explore _ nav ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Item ( item : ĠData Item ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . delete Item ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Click Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Wish list Fragment . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv Search . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv Back . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Try Again . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Back Home . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }