package Ġch . r my . android . http _ shortcuts . data . maintenance Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . One Time Work RequestBuilder Ċ import Ġandroidx . work . Rx Worker Ċ import Ġandroidx . work . Work Manager Ċ import Ġandroidx . work . Worker Parameters Ċ import Ġch . r my . android . http _ shortcuts . d agger . getApplication Component Ċ import Ġch . r my . android . http _ shortcuts . data . domains . app . App Repository Ċ import Ġio . reactivex . Single Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠClean Up Worker ( context : ĠContext , Ġparams : ĠWorker Parameters ) Ġ: ĠRx Worker ( context , Ġparams ) Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġapp Repository : ĠApp Repository ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġget Application Component (). inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Work (): ĠSingle < Result > Ġ= ĊĠĠĠĠĠĠĠ Ġapp Repository . delete Unused Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Single Default ( Result . success ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Return Item ( Result . failure ()) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" realm - cleanup " ĊĊĠĠĠĠĠĠĠ Ġfun Ġschedule ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( Work Manager . getInstance ( context )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcancel All Work By Tag ( TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenqueue ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOne Time Work RequestBuilder < Clean Up Worker >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Tag ( TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setInitial Delay ( 5 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ