/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠAh med ĠAl As kal any Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . al ask al any . care ers how case . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle .* Ċ import Ġcom . al ask al any . care ers how case . Care er Show case App Ċ import Ġcom . al ask al any . care ers how case . entity . Work Entity Ċ import Ġcom . al ask al any . care ers how case . file . File Data Ċ import Ġcom . al ask al any . care ers how case . repository . Data Repository Ċ Ċ class ĠWork List ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġ// ĠMed iator LiveData Ġcan Ġobserve Ġother ĠLive Data Ġobjects Ġand Ġreact Ġon Ġtheir Ġemission s . ĊĠĠĠ Ġprivate Ġval Ġobservable Products : ĠMed iator LiveData < List < Work Entity >> ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEx pose Ġthe ĠLive Data ĠProducts Ġquery Ġso Ġthe ĠUI Ġcan Ġobserve Ġit . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġworks : ĠLive Data < List < Work Entity >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġobservable Products ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġobservable Products Ġ= ĠMed iator LiveData () ĊĠĠĠĠĠĠĠ Ġ// Ġset Ġby Ġdefault Ġnull , Ġuntil Ġwe Ġget Ġdata Ġfrom Ġthe Ġdatabase . ĊĠĠĠĠĠĠĠ Ġobservable Products . value Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ// LiveData < List < Work Entity >> Ġworks Ġ= Ġ(( Care er Show case App ) Ġapplication ). getRepository (). work Repository . get Works (); ĊĠĠĠĠĠĠĠ Ġval Ġlist LiveData Ġ= ĠFile Data . get Work LiveData ( application ) ĊĠĠĠĠĠĠĠ Ġ// Ġobserve Ġthe Ġchanges Ġof Ġthe Ġproducts Ġfrom Ġthe Ġdatabase Ġand Ġforward Ġthem ĊĠĠĠĠĠĠĠ Ġobservable Products . add Source ( list LiveData ) Ġ{ Ġobservable Products . setValue ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠFactory ( private Ġval Ġapplication : ĠApplication , Ġprivate Ġval Ġwork Id : ĠInt ) Ġ: ĠViewModel Provider . New Instance Factory () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepository : ĠData Repository ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Ġ= Ġ( application Ġas ĠCare er Show case App ). repository !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠWork ViewModel ( application , Ġrepository , Ġwork Id ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ