package Ġcom . ye h ia hd . movies . datamodel . local . db . dao Ċ Ċ import Ġandroid . arch . persistence . room . Database Ċ import Ġandroid . arch . persistence . room . Room Ċ import Ġandroid . arch . persistence . room . Room Database Ċ import Ġandroid . content . Context Ċ import Ġcom . ye h ia hd . movies . model . Movie Ċ import Ġcom . ye h ia hd . movies . util . Constant Ċ Ċ @ Database ( entities Ġ= Ġ[ Movie :: class ], Ġversion Ġ= Ġ 2 , Ġexport Schema Ġ= Ġfalse ) Ċ abstract Ġclass ĠMov ies Database Ġ: ĠRoom Database () Ġ{ ĊĊĠĠĠ Ġabstract Ġval Ġmovies Dao : ĠMov ies Dao ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠINSTANCE : ĠMov ies Database ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠMov ies Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( INSTANCE Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ= ĠRoom . database Builder ( context . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMov ies Database :: class . java , ĠConstant . Data Base . DATA _ BASE _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠINSTANCE !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }