package Ġcom . y ash lan . ap lik as ig ithub user . util Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . google . android . material . floating action button . Floating ActionButton Ċ import Ġcom . y ash lan . ap lik as ig ithub user . data . model . Favorite Model Ċ import Ġcom . y ash lan . ap lik as ig ithub user . data . repository . Favorite Repository Ċ import Ġcom . y ash lan . ap lik as ig ithub user . view . view model . Favorite ViewModel Ċ Ċ class ĠDatabase Util Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġfavorite Model : ĠF avorite Model ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Favorite ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication : ĠApplication , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġusername : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfab : ĠFloating ActionButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Fav Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Not Fav Id : ĠInt ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfav ViewModel Ġ= ĠF avorite ViewModel ( Favorite Repository ( application )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fav ViewModel . is Favorite ( username )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfab . setImage Resource ( res Fav Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfab . setImage Resource ( res Not Fav Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfav ViewModel . is Favorite ( username ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġinit Favorite ( name : ĠString , Ġusername : ĠString , Ġavatar _ url : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Model Ġ= ĠF avorite Model () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Model . name Ġ= Ġname ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Model . username Ġ= Ġusername ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Model . avatar Url Ġ= Ġavatar _ url ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġadd Favorite ( application : ĠApplication ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfav ViewModel Ġ= ĠF avorite ViewModel ( Favorite Repository ( application )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfav ViewModel . insert ( favorite Model ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġremove Favorite ( application : ĠApplication , Ġusername : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfav ViewModel Ġ= ĠF avorite ViewModel ( Favorite Repository ( application )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfav ViewModel . delete ( username ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }