package Ġorg . tty . daily set . data Ċ Ċ import Ġorg . tty . daily set . model . entity .* Ċ Ċ /** Ċ Ġ* Ġthe Ġseed er Ġof Ġthe Ġ[ database ] Ċ Ġ* Ġ@ param Ġdatabase Ġthe Ġdatabase Ċ Ġ*/ Ċ class ĠDaily Set Database Seeder ( private Ġval Ġdatabase : ĠDaily Set Room Database ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġit Ġwill Ġbe Ġcalled Ġby Ġ[ database ], Ġto Ġseed Ġthe Ġdata . ĊĠĠĠĠ Ġ* Ġ@ param Ġold Version Ġversion Ġbefore Ġseed ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġseed ( old Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinsert Ġthe Ġpreference Ġexcept Ġthe Ġseed _ version ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference Name . values (). forEach Ġ{ Ġpref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pref Ġ!= ĠPreference Name . SEED _ VERSION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . preference Dao (). insert ( Preference ( pref . key , Ġtrue , Ġpref . defaultValue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . user Dao (). insert ( User . default ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . user Dao (). insert ( User . system ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . daily Table Dao (). update ( Daily Table . default ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . daily Row Dao (). update ( Daily Row . default ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDaily Cell . default (). forEach Ġ{ Ġcell Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . daily Cell Dao (). update ( cell ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġup ( new Version : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġdatabase . preference Dao (). insert ( Preference ( Preference Name . SEED _ VERSION . key , Ġfalse , Ġnew Version . toString ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġreturn Ġthe Ġcurrent Version , Ġit 's Ġstored Ġin Ġ[ org . tty . daily set . model . entity . Preference ] Ġkey : Ġseed _ version ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcurrent Version (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 3 ĊĠĠĠ Ġ} Ċ Ċ }