Ċ Ċ package Ġcom . example . android . persistence . code lab . step 4 _ solution Ċ Ċ import Ġandroid . app . Application Ċ Ċ import Ġandroid . arch . lifecycle . Android ViewModel Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġcom . example . android . persistence . code lab . db . App Database Ċ import Ġcom . example . android . persistence . code lab . db . Book Ċ import Ġcom . example . android . persistence . code lab . db . utils . Database Initializer Ċ Ċ import Ġjava . util . Calendar Ċ import Ġjava . util . Date ĊĊ Ċ class ĠType Converters ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġvar Ġbooks : ĠLive Data < List < Book >> ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġprivate Ġvar Ġm Db : ĠApp Database ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Db () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Db Ġ= ĠApp Database . get InMemory Database ( this . getApplication ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠPopulate Ġit Ġwith Ġinitial Ġdata ĊĠĠĠĠĠĠĠ ĠDatabase Initializer . populate Async ( m Db !! ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠReceive Ġchanges ĊĠĠĠĠĠĠĠ Ġsubscribe To Db Changes () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubscribe To Db Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠBooks Ġis Ġa ĠLive Data Ġobject Ġso Ġupdates Ġare Ġobserved . ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcalendar . add ( Calendar . DATE , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġyesterday Ġ= Ġcalendar . time ĊĠĠĠĠĠĠĠ Ġbooks Ġ= Ġm Db !!. book Model (). find Books Borrow ed ByName After (" Mi ke ", Ġyesterday ) ĊĠĠĠ Ġ} Ċ } Ċ