package Ġcom . sam irm ac iel . movie flix . modules . my list _ page . fragment _ pages . w atched _ page čĊč Ċ import Ġandroid . content . DialogInterface č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . View č Ċ import Ġandroidx . appcompat . app . AlertDialog č Ċ import Ġandroidx . fragment . app . Fragment č Ċ import Ġandroidx . fragment . app . activity ViewModels č Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager č Ċ import Ġcom . sam irm ac iel . movie flix . R č Ċ import Ġcom . sam irm ac iel . movie flix . databinding . Fragment W atched Binding č Ċ import Ġcom . sam irm ac iel . movie flix . modules . bottom sheet detail _ page . Bottom Sheet Detail č Ċ import Ġcom . sam irm ac iel . movie flix . shared . adapter . Movies W atched Recycler Adapter č Ċ import Ġcom . sam irm ac iel . movie flix . shared . local data . App Database č Ċ import Ġcom . sam irm ac iel . movie flix . shared . repository . local . Movie W atched Repository Local čĊč Ċ class ĠFragment W atched Ġ: ĠFragment ( R . layout . fragment _ w atched ) Ġ{ čĊčĊĠĠĠ Ġprivate Ġvar Ġ_ binding Ġ: ĠFragment W atched Binding ? Ġ= Ġnull čĊĠĠĠ Ġprivate Ġval Ġbinding Ġ: ĠFragment W atched Binding Ġget () Ġ= Ġ_ binding !! čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter W atched RecyclerView Ġ: ĠMov ies W atched Recycler Adapter čĊčĊĠĠĠ Ġprivate Ġval ĠviewModel Ġ: ĠW atched ViewModel Ġby Ġactivity ViewModels Ġ{ čĊĠĠĠĠĠĠĠ ĠW atched ViewModel . W atched ViewModel Factory ( čĊĠĠĠĠĠĠĠĠĠĠĠ ĠMovie W atched Repository Local ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database . get Database ( require Context ()). Movie W atched Dao () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) čĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment W atched Binding . bind ( view ) čĊĠĠĠĠĠĠĠ Ġinit RecyclerView () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onStart () čĊčĊĠĠĠĠĠĠĠ ĠviewModel . getAll Movies () čĊĠĠĠĠĠĠĠ ĠviewModel . movie List . observe ( this ){ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter W atched RecyclerView . list Ġ= Ġit čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter W atched RecyclerView . notify DataSet Changed () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġinit RecyclerView (){ čĊĠĠĠĠĠĠĠ Ġadapter W atched RecyclerView Ġ= ĠMov ies W atched Recycler Adapter ({ Ġposition , Ġmovie Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalert Ġ= ĠAlertDialog . Builder ( require Context ()). apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle (" T em Ġcer te za Ġque Ġdese ja Ġremo ver Ġeste Ġfil me ?") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Positive Button (" Sim ", ĠDialog Interface . OnClickListener Ġ{ Ġdialog , Ġid Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delete ById ( movie . movie Id ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter W atched RecyclerView . list . remove ( movie ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter W atched RecyclerView . notify Item Removed ( position ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Negative Button (" NÃ£o ", Ġnull ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. create (). show () čĊĠĠĠĠĠĠĠ Ġ}, Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom sheet Ġ= ĠBottom Sheet Detail () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle (). apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" movie Id ", Ġit . movie Id ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" title ", Ġit . title ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" poster ", Ġit . poster ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" backdrop ", Ġit . backdrop ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" overview ", Ġit . overview ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" re ale se ", Ġit . re ale se ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" vote Average ", Ġit . vote Average ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean (" my list Call ", Ġtrue ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom sheet . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom sheet . show ( child FragmentManager , Ġ" bottom sheet Top r ated ") čĊĠĠĠĠĠĠĠ Ġ}) čĊčĊĠĠĠĠĠĠĠ Ġbinding . w atched RecyclerView . apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( require Context ()) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġadapter W atched RecyclerView čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () čĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull čĊĠĠĠ Ġ} č Ċ }