package Ġxyz . sent r ionic . har mony . repository Ċ Ċ import Ġandroid . util . Log Ċ import Ġkotlinx . coroutines . Job Ċ Ċ open Ġclass ĠJob Manager ( ĊĠĠĠ Ġprivate Ġval ĠclassName : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG : ĠString Ġ= Ġ" App Debug " ĊĊĠĠĠ Ġprivate Ġval Ġjobs : ĠHashMap < String , ĠJob > Ġ= ĠHashMap () ĊĊĠĠĠ Ġfun Ġadd Job ( methodName : ĠString , Ġjob : ĠJob ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcancel Job ( methodName ) ĊĠĠĠĠĠĠĠ Ġjobs [ methodName ] Ġ= Ġjob ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcancel Job ( methodName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Job ( methodName )?. cancel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Job ( methodName : ĠString ): ĠJob ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( jobs . containsKey ( methodName )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjobs [ methodName ]?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcancel Active Jobs () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( methodName , Ġjob ) Ġin Ġjobs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( job . isActive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ"$ className : Ġcancell ing Ġjob Ġin Ġmethod : Ġ'$ methodName '") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjob . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }