package Ġcom . example . assignment _ 7 . persistence Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room .* Ċ import Ġcom . example . assignment _ 7 . data . v os . Movie VO Ċ import Ġcom . example . assignment _ 7 . persistence . da os . Movie Dao Ċ import Ġcom . example . assignment _ 7 . persistence . type converters . Genre Type Converter Ċ import Ġcom . example . assignment _ 7 . utils . DB _ NAME Ċ Ċ @ Database ( entities Ġ= ĠarrayOf ( Movie VO :: class ), Ġversion Ġ= Ġ 3 , Ġexport Schema Ġ= Ġfalse ) Ċ @ Type Converters ( Genre Type Converter :: class ) Ċ abstract Ġclass ĠMovie DB : ĠRoom Database () Ġ{ ĊĊĠĠĠ Ġabstract Ġfun Ġmovie Dao (): ĠMovie Dao ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġvar ĠINSTANCE : ĠMovie DB ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠMovie DB { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( INSTANCE Ġ== Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ= ĠRoom . database Builder ( context , ĠMovie DB :: class . java , ĠDB _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow MainThread Queries () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback To Dest ruct ive Migration () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠINSTANCE !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġare Datas Exit In DB (): ĠBoolean { ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao (). get Movies (). isNotEmpty () ĊĠĠĠ Ġ} Ċ }