Ċ package Ġcom . example . android . track mys leep quality . work Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Coroutine Worker Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġcom . example . android . track mys leep quality . database . get Database Ċ import Ġcom . example . android . track mys leep quality . repository . Videos Repository Ċ import Ġretrofit 2 . HttpException Ċ Ċ class ĠRefresh Data Work Ġ( app Context : ĠContext , Ġparams : ĠWorker Parameters ): ĊĠĠĠĠĠĠĠ ĠCor outine Worker ( app Context , params ){ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠWORK _ NAME Ġ= Ġ" Refresh Data Worker " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġcoroutine - friendly Ġmethod Ġto Ġdo Ġwork ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work (): ĠPayload Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġget Database ( application Context ) ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠV ideos Repository ( database ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . refresh Rest () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPayload ( Result . SUCCESS ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( exception : ĠHttp Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPayload ( Result . RETRY ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }