package Ġcom . moon w inston . mot ivation alt od olist . data Ċ Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġjava . util .* Ċ Ċ class ĠDefault Task Repository ( ĊĠĠĠ Ġprivate Ġval Ġtask Dao : ĠTask Dao , ĊĠĠĠ Ġprivate Ġval Ġio Dispatcher : ĠCor outine Dispatcher Ċ ) Ġ: ĠTask Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetAll Tasks (): ĠList < Task Entity > Ġ= Ġwith Context ( io Dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . getAll () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetAll Tasks By Dates ( task Dates List : ĠMutable List < Date >): ĠList < Task Entity > Ġ= ĊĠĠĠĠĠĠĠ Ġwith Context ( io Dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Dao . getAll By Dates ( task Dates List ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Task ( task Entity : ĠTask Entity ) Ġ= Ġwith Context ( io Dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . insert ( task Entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete Task ( uid : ĠLong ) Ġ= Ġwith Context ( io Dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . delete ( uid ) ĊĠĠĠ Ġ} Ċ }