package Ġcom . example . my favorite quotes . ui . home čĊč Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġandroid . widget . Image Button č Ċ import Ġandroid . widget . TextView č Ċ import Ġandroid . widget . Toast č Ċ import Ġandroidx . fragment . app . Fragment č Ċ import Ġandroidx . lifecycle . Observer č Ċ import Ġandroidx . lifecycle . ViewModel Provider č Ċ import Ġandroidx . lifecycle . lifecycle Scope č Ċ import Ġandroidx . room . Room č Ċ import Ġcom . example . my favorite quotes . R č Ċ import Ġcom . example . my favorite quotes . data . My Quotes Database č Ċ import Ġkotlinx . coroutines . Dispatch ers č Ċ import Ġkotlinx . coroutines . launch č Ċ import Ġkotlinx . coroutines . with Context čĊč Ċ class ĠHome Fragment Ġ: ĠFragment () Ġ{ čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhome ViewModel : ĠHome ViewModel čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, čĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? čĊĠĠĠ Ġ): ĠView ? Ġ{ čĊĠĠĠĠĠĠĠ Ġhome ViewModel Ġ= ĠViewModel Provider ( this ). get ( Home ViewModel :: class . java ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ home , Ġcontainer , Ġfalse ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġbutton New Quote Ġ= Ġroot . findViewById < Image Button >( R . id . button _ new _ quote ) čĊĠĠĠĠĠĠĠ Ġbutton New Quote ?. let Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . next Quote () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġbutton Favorite Ġ= Ġroot . findViewById < Image Button >( R . id . button _ favorite ) čĊĠĠĠĠĠĠĠ Ġbutton Favorite ?. let Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . favorite Quote ( require Context (). application Context ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" New ĠF avorite ĠAdded !", ĠToast . LENGTH _ SHORT ). show () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval ĠtextView Quote Ġ= Ġroot . findViewById < TextView >( R . id . textView _ quote ) čĊĠĠĠĠĠĠĠ Ġhome ViewModel . quote . observe ( view Lifecycle Owner , ĠObserver Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Quote . text Ġ= Ġit . text čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ}) čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġroot čĊĠĠĠ Ġ} č Ċ }