package Ġcom . nik ol ad rl jac a . get re min ded . database Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġcom . nik ol ad rl jac a . get re min ded . view model . Reminder Ċ Ċ @ Database ( entities Ġ= ĠarrayOf ( Reminder :: class ), Ġversion Ġ= Ġ 1 , Ġexport Schema Ġ= Ġfalse ) Ċ public Ġabstract Ġclass ĠRem inder Database : ĠRoom Database () Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġreminder Dao (): ĠRem inder Dao ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġ@ Volatile ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠINSTANCE : ĠRem inder Database ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Database ( context : ĠContext ): ĠRem inder Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Instance Ġ= ĠINSTANCE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( temp Instance Ġ!= Ġnull ) Ġreturn Ġtemp Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRem inder Database :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" reminder _ database " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fallback To Dest ruct ive Migration (). build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ= Ġinstance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinstance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }