package Ġar . com . infrastructure . repositories . providers . local . db Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġar . com . infrastructure . repositories . providers . local . db . entities . Post Entity Ċ Ċ @ Database ( ĊĠĠĠ Ġentities Ġ= Ġ[ Post Entity :: class ], ĊĠĠĠ Ġversion Ġ= Ġ 1 , ĊĠĠĠ Ġexport Schema Ġ= Ġfalse Ċ ) Ċ abstract Ġclass ĠRoom Post App Database : ĠRoom Database () Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġpost DAO (): ĠPost DAO ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Volatile ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠINSTANCE : ĠRoom Post App Database ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠRoom Post App Database Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ?: Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġbuild Database ( context ). also Ġ{ ĠINSTANCE Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbuild Database ( context : ĠContext ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoom . database Builder ( context . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRoom Post App Database :: class . java , Ġ" post _ database . db ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ }