package Ġcom . mad on na apps . w od notify . data . local . databases Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġandroidx . room . Type Converters Ċ import Ġcom . mad on na apps . w od notify . data . local . converters . W od Date Converter Ċ import Ġcom . mad on na apps . w od notify . data . local . da os . W od Dao Ċ import Ġcom . mad on na apps . w od notify . data . local . entities . W od Entity Ċ Ċ @ Database ( ĊĠĠĠ Ġentities Ġ= Ġ[ W od Entity :: class ], ĊĠĠĠ Ġversion Ġ= Ġ 1 Ċ ) Ċ @ Type Converters ( W od Date Converter :: class ) Ċ abstract Ġclass ĠApp Database Ġ: ĠRoom Database () Ġ{ ĊĊĠĠĠ Ġabstract Ġfun Ġw od Dao (): ĠW od Dao ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Volatile ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinstance : ĠApp Database ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOCK Ġ= ĠAny () ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( context : ĠContext ) Ġ= Ġinstance Ġ?: Ġsynchronized ( LOCK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Ġ?: Ġbuild Database ( context ). also Ġ{ Ġinstance Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbuild Database ( context : ĠContext ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" w od notify . db " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĠĠĠ Ġ} Ċ Ċ }