package Ġcom . son us our av . movies . data . local . room Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġandroidx . room . Type Converters Ċ import Ġcom . son us our av . movies . data . local . dao . Cast s Dao Ċ import Ġcom . son us our av . movies . data . local . dao . Movies Dao Ċ import Ġcom . son us our av . movies . data . local . dao . Reviews Dao Ċ import Ġcom . son us our av . movies . data . local . dao . Trail ers Dao Ċ import Ġcom . son us our av . movies . data . local . model . Cast Ċ import Ġcom . son us our av . movies . data . local . model . Converters Ċ import Ġcom . son us our av . movies . data . local . model . Movie Ċ import Ġcom . son us our av . movies . data . local . model . Review Ċ import Ġcom . son us our av . movies . data . local . model . Tr ailer Ċ Ċ @ Database ( entities Ġ= Ġ[ Movie :: class , ĠTr ailer :: class , ĠCast :: class , ĠReview :: class ], Ġversion Ġ= Ġ 1 , Ġexport Schema Ġ= Ġfalse ) Ċ @ Type Converters ( Converters :: class ) Ċ abstract Ġclass ĠMov ies Database Ġ: ĠRoom Database () Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġmovies Dao (): ĠMov ies Dao ĊĠĠĠ Ġabstract Ġfun Ġtrail ers Dao (): ĠTr ail ers Dao ĊĠĠĠ Ġabstract Ġfun Ġcast s Dao (): ĠCast s Dao ĊĠĠĠ Ġabstract Ġfun Ġreviews Dao (): ĠRe views Dao ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDATABASE _ NAME Ġ= Ġ" Movies . db " ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠINSTANCE : ĠMov ies Database ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġs Lock Ġ= ĠAny () ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠMov ies Database ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( s Lock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( INSTANCE Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ= Ġbuild Database ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠINSTANCE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbuild Database ( context : ĠContext ): ĠMov ies Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMov ies Database :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDATABASE _ NAME ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }