package Ġcom . pom od or ot ime . sync . work manager . workers Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroidx . work . Coroutine Worker Ċ import Ġandroidx . work . Data Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġcom . pom od or ot ime . data . sync . IS ync ErrorHandler Ċ import Ġcom . pom od or ot ime . data . task . datasource . remote . IT ask Remote DataSource Ċ import Ġcom . pom od or ot ime . data . user . I User Local DataSource Ċ Ċ class ĠDelete Task Worker ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġparams : ĠWorker Parameters , ĊĠĠĠ Ġprivate Ġval Ġuser DataSource : ĠI User Local DataSource , ĊĠĠĠ Ġprivate Ġval Ġtask DataSource : ĠI Task Remote DataSource , ĊĠĠĠ Ġprivate Ġval ĠerrorHandler : ĠIS ync ErrorHandler Ċ ) Ġ: ĠCor outine Worker ( context , Ġparams ) Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work (): ĠResult Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠtaskId Ġ= Ġdata To TaskId ( input Data ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask DataSource . delete Task ( user DataSource . getUserId (), ĠtaskId ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Insert Task Worker ", ĠerrorHandler . get Sync Error ( ex ). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . retry () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdata To TaskId ( input Data : ĠData ): ĠLong Ġ= ĊĠĠĠĠĠĠĠ Ġinput Data . getLong ( TASK _ ID _ ARGS , Ġ- 1 L ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTASK _ ID _ ARGS Ġ= Ġ" task . id . args " ĊĠĠĠ Ġ} Ċ }