package Ġcom . te arn sv . te arn app . data Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġcom . te arn sv . te arn app . data . dao . Tear n Dao Ċ import Ġcom . te arn sv . te arn app . data . entity . Fav T utor Ċ import Ġcom . te arn sv . te arn app . data . entity . User Ċ Ċ @ Database ( entities Ġ= Ġ[ User :: class , ĠF av T utor :: class ], Ġversion Ġ= Ġ 1 , Ġexport Schema Ġ= Ġtrue ) Ċ abstract Ġclass ĠT ear n Database Ġ: ĠRoom Database (){ ĊĠĠĠ Ġabstract Ġfun Ġget Tear n Dao () Ġ: ĠT ear n Dao ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Volatile ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠINSTANCE : ĠT ear n Database ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Database ( context : ĠContext ): ĠT ear n Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠINSTANCE ?: Ġsynchronized ( this ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT ear n Database :: class . java , Ġ" te arn _ db " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINSTANCE Ġ= Ġinstance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} Ċ }