package Ġcom . routine . data . db Ċ Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . room . Room Database Ċ import Ġandroidx . room . Type Converters Ċ import Ġcom . routine . App Ċ import Ġcom . routine . data . db . entity . Todo Entity Ċ Ċ @ Database ( entities Ġ= Ġ[ Todo Entity :: class ], Ġversion Ġ= Ġ 2 ) Ċ @ Type Converters ( Converters :: class ) Ċ abstract Ġclass ĠApp Database Ġ: ĠRoom Database () Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġtodos (): ĠTodo Dao Ċ } Ċ Ċ private Ġvar Ġdatabase : ĠApp Database ? Ġ= Ġnull Ċ Ċ fun Ġdatabase (): ĠApp Database Ġ{ ĊĠĠĠ Ġif Ġ( database Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsynchronized ( App Database :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( database Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Ġ= ĠRoom . database Builder ( App . CONTEXT , ĠApp Database :: class . java , Ġ" android - todos . sql ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback To Dest ruct ive Migration () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdatabase !! Ċ } Ċ