package Ġshort course . read ium . core . worker Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Coroutine Worker Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġshort course . read ium . core . database . Read ium Database Ċ import Ġshort course . read ium . core . model . account . Account Ċ import Ġshort course . read ium . core . model . post . Comment Ċ import Ġshort course . read ium . core . model . post . Post Ċ import Ġshort course . read ium . core . util . debugger Ċ import Ġjava . io . InputStream Reader Ċ Ċ /** Ċ Ġ* ĠDeserial izes Ġ& Ġloads Ġsample Ġdata Ġinto Ġthe Ġdatabase Ċ Ġ*/ Ċ class ĠSample Data Worker ( context : ĠContext , Ġparameters : ĠWorker Parameters ) Ġ: ĊĠĠĠ ĠCor outine Worker ( context , Ġparameters ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdatabase : ĠRead ium Database Ġby Ġlazy Ġ{ ĠRead ium Database . getInstance ( context ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġaccount Dao Ġby Ġlazy Ġ{ Ġdatabase . account Dao () Ġ} ĊĠĠĠ Ġprivate Ġval Ġpost Dao Ġby Ġlazy Ġ{ Ġdatabase . post Dao () Ġ} ĊĠĠĠ Ġprivate Ġval Ġcomment Dao Ġby Ġlazy Ġ{ Ġdatabase . comment Dao () Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work (): ĠResult Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccounts Ġ= Ġgson . fromJson < List < Account >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInputStreamReader ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context . assets . open (" accounts . json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġobject Ġ: ĠType Token < List < Account >>() Ġ{} . type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Mutable List () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposts Ġ= Ġgson . fromJson < List < Post >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInputStreamReader ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context . assets . open (" posts . json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġobject Ġ: ĠType Token < List < Post >>() Ġ{} . type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Mutable List () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomments Ġ= Ġgson . fromJson < List < Comment >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInputStreamReader ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context . assets . open (" comments . json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġobject Ġ: ĠType Token < List < Comment >>() Ġ{} . type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Mutable List () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInsert Ġdata Ġinto Ġdatabase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Dao . insert All ( item Ġ= Ġaccounts ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Dao . insert All ( item Ġ= Ġposts ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Dao . insert All ( item Ġ= Ġcomments ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebugger ( e . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠResult . success () ĊĠĠĠ Ġ} Ċ Ċ }