package Ġcom . k Ts . movie observer . work Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Coroutine Worker Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġcom . k Ts . movie observer . database . get Database Ċ import Ġcom . k Ts . movie observer . repository . Movie Repository Ċ import Ġretrofit 2 . HttpException Ċ Ċ class ĠRefresh Data Worker ( context : ĠContext , Ġparameters : ĠWorker Parameters ) Ġ: ĊĠĠĠ ĠCor outine Worker ( context , Ġparameters ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREF RESH _ WORK ER Ġ= Ġ" com . example . movie app . work . Refresh Data Worker " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work (): ĠResult Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġget Database ( application Context ) ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠMovie Repository ( database ) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . refresh Movies () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠHttp Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . retry () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠResult . success () ĊĠĠĠ Ġ} Ċ Ċ }