package Ġcom . ud acity . aster oid radar . worker Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Coroutine Worker Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġcom . ud acity . aster oid radar . api . N asa Api Ċ import Ġcom . ud acity . aster oid radar . database . A ster oid Rad ar Database Ċ import Ġcom . ud acity . aster oid radar . repository . A ster oids Repository Ċ import Ġcom . ud acity . aster oid radar . repository . Picture OfDay Repository Ċ import Ġretrofit 2 . HttpException ĊĊ Ċ class ĠRefresh Data Worker ( app Context : ĠContext , Ġparams : ĠWorker Parameters ) Ġ: ĊĠĠĠ ĠCor outine Worker ( app Context , Ġparams ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠWORK _ NAME Ġ= Ġ" A ster oid Rad ar Refresh Data Worker " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList Ġof Ġaster oids Ġand Ġlatest Ġpicture Ġof Ġthe Ġday Ġis Ġupdated . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work (): ĠResult Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= ĠA ster oid Rad ar Database . get Database ( application Context ) ĊĠĠĠĠĠĠĠ Ġval Ġaster oids Repository Ġ= ĠA ster oids Repository ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . aster oid Dao , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN asa Api . service ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġpicture OfDay Repository Ġ= ĠPicture OfDay Repository ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . picture OfDay Dao , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN asa Api . service ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaster oids Repository . refresh A ster oids () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpicture OfDay Repository . refresh () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠHttp Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . retry () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ