package Ġcom . lar issa . gist s app . data . repository Ċ import Ġandroid . content . Context Ċ import Ġcom . lar issa . gist s app . data . db . base . Database Builder Ċ import Ġcom . lar issa . gist s app . data . db . base . Favorite Database Ċ import Ġcom . lar issa . gist s app . data . model . G ist Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Observable Ċ Ċ class ĠF avorite Repository Ġ{ ĊĊĠĠĠ Ġfun Ġinsert Favorite G ist ( favorite G ist : ĠG ist ) Ġ: ĠComp letable Ġ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDatabase Builder . get Favorite Database (). favorite Dao (). insert Favorite ( favorite G ist ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Favorite G ist ( favorite G ist : ĠG ist ) Ġ: ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDatabase Builder . get Favorite Database (). favorite Dao (). delete Favorite ( favorite G ist ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfetch Favorite G ists (): ĠObservable < List < G ist >> Ġ= ĊĠĠĠĠĠĠĠĠ ĠDatabase Builder . get Favorite Database (). favorite Dao (). getF avorites () Ċ Ċ } Ċ Ċ // class ĠF avorite Repository Ġ{ Ċ // Ċ // ĠĠĠ Ġprivate Ġvar Ġdb : ĠF avorite Database ? Ġ= Ġnull Ċ // Ċ // ĠĠĠ Ġfun Ġinsert Favorite G ist ( context : ĠContext , Ġfavorite G ist : ĠG ist ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġdb Ġ= ĠDatabase Builder . get Favorite Database ( context ) Ċ // ĠĠĠĠĠĠĠ Ġdb ?. favorite Dao ()?. insert Favorite ( favorite G ist ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun Ġdelete Favorite G ist ( context : ĠContext Ġ, Ġfavorite G ist : ĠG ist ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġdb Ġ= ĠDatabase Builder . get Favorite Database ( context ) Ċ // ĠĠĠĠĠĠĠ Ġdb ?. favorite Dao ()?. delete Favorite ( favorite G ist ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun Ġfetch Favorite G ists ( context : ĠContext ): ĠObservable < List < G ist >> ? Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġvar Ġfavor ites List : ĠObservable < List < G ist >> ? Ċ // ĠĠĠĠĠĠĠ Ġdb Ġ= ĠDatabase Builder . get Favorite Database ( context ) Ċ // ĠĠĠĠĠĠĠ Ġval Ġfavorite Dao Ġ= Ġdb ?. favorite Dao () Ċ // ĠĠĠĠĠĠĠ Ġfavor ites List Ġ= Ġfavorite Dao ?. getF avorites () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġfavor ites List Ċ // Ċ // ĠĠĠ Ġ} Ċ //}