package Ġxyz . team gravity . work manager demo Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Coroutine Worker Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġandroidx . work . work Data Of Ċ import Ġkotlinx . coroutines . delay Ċ Ċ class ĠProgress Coroutine Worker ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġworker Parameters : ĠWorker Parameters Ċ ) Ġ: ĠCor outine Worker ( context , Ġworker Parameters ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROG RESS _ EXTRA Ġ= Ġ" Progress " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work (): ĠResult Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ<= Ġ 1 0 Ġ&& Ġ! is Stopped ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Progress ( work Data Of ( PROGRESS _ EXTRA Ġto Ġi Ġ* Ġ 1 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠResult . success () ĊĠĠĠ Ġ} Ċ }