package Ġcom . example . home screen . db Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġdev . matrix . room igr ant . Generate Room Migrations Ċ Ċ @ Database ( entities Ġ= Ġ[ Usage Entry :: class , ĠIcon Config :: class ], Ġversion Ġ= Ġ 2 ) Ċ @ Generate Room Migrations Ċ abstract Ġclass ĠUsage Database : ĠRoom Database () Ġ{ ĊĊĠĠĠ Ġabstract Ġfun Ġentry Dao (): ĠEntry Dao ĊĠĠĠ Ġabstract Ġfun Ġicon Config Dao (): ĠIcon Config Dao ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Volatile Ġprivate Ġvar Ġinstance : ĠUsage Database ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ@ Synchron ized ĊĠĠĠĠĠĠĠ Ġfun Ġget ( context : ĠContext ): ĠUsage Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . instance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . instance Ġ= ĠRoom . database Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUsage Database :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" entry - usage - data " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Migrations (* Usage Database _ Migrations . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . instance !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }