/* čĊ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 . čĊ Ġ* ĠJo Ã£o ĠP au lo ĠS ena Ġ< jo aop au lo 7 6 1 @ gmail . com > čĊ Ġ* čĊ Ġ* ĠThis Ġfile Ġis Ġpart Ġof Ġthe ĠUN ES ĠOpen ĠSource ĠProject . čĊ Ġ* čĊ Ġ* ĠUN ES Ġis Ġlicensed Ġunder Ġthe ĠMIT ĠLicense čĊ Ġ* čĊ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy čĊ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal čĊ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights čĊ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell čĊ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis čĊ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : čĊ Ġ* čĊ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall čĊ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . čĊ Ġ* čĊ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR čĊ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , čĊ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE čĊ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER čĊ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , čĊ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE čĊ Ġ* ĠSOFTWARE . čĊ Ġ*/ čĊč Ċ package Ġcom . for c et ower . ue fs . core . work . demand čĊč Ċ import Ġandroid . content . Context č Ċ import Ġandroidx . annotation . Worker Thread č Ċ import Ġandroidx . work . Backoff Policy č Ċ import Ġandroidx . work . Constraints č Ċ import Ġandroidx . work . Network Type č Ċ import Ġandroidx . work . One Time Work RequestBuilder č Ċ import Ġandroidx . work . Worker č Ċ import Ġandroidx . work . Worker Parameters č Ċ import Ġcom . for c et ower . ue fs . U Application č Ċ import Ġcom . for c et ower . ue fs . core . storage . repository . Demand Repository č Ċ import Ġcom . for c et ower . ue fs . core . work . enqueue Unique č Ċ import Ġjava . util . concurrent . TimeUnit č Ċ import Ġjavax . inject . Inject čĊč Ċ class ĠCreate Demand Worker ( čĊĠĠĠ Ġcontext : ĠContext , čĊĠĠĠ Ġparams : ĠWorker Parameters č Ċ ) Ġ: ĠWorker ( context , Ġparams ) Ġ{ čĊĠĠĠ Ġ@ Inject čĊĠĠĠ Ġlateinit Ġvar Ġrepository : ĠDem and Repository čĊčĊĠĠĠ Ġ@ Worker Thread čĊĠĠĠ Ġoverride Ġfun Ġdo Work (): ĠResult Ġ{ čĊĠĠĠĠĠĠĠ Ġ( application Context Ġas ĠU Application ). component . inject ( this ) čĊĠĠĠĠĠĠĠ Ġrepository . execute Create Demand () čĊĠĠĠĠĠĠĠ Ġreturn ĠResult . success () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" create _ demand _ worker " čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNAME Ġ= Ġ" demand _ worker " čĊčĊĠĠĠĠĠĠĠ Ġfun Ġcreate Worker () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . Builder () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Required Network Type ( Network Type . CONNECTED ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠOne Time Work RequestBuilder < Create Demand Worker >() čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Backoff Criteria ( Backoff Policy . EXP ON ENTIAL , Ġ 1 , ĠTimeUnit . MIN UTES ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Constraints ( constraints ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Tag ( TAG ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . enqueue Unique ( NAME , Ġtrue ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }