/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 8 ĠK eval ĠP ate l . Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . stand up . core . misc Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . ever note . android . job . Job Ċ import Ġcom . ever note . android . job . Job Creator Ċ import Ġcom . ever note . android . job . Job Manager Ċ import Ġcom . stand up . core . activity Monitor . Activity Monitor Job Ċ import Ġcom . stand up . core . daily Review . Daily Review Job Ċ import Ġcom . stand up . core . d nd Manager . Auto D nd Monitoring Job Ċ import Ġcom . stand up . core . reminder . Notification Scheduler Job Ċ import Ġcom . stand up . core . sleep Manager . Sleep Mode Monitoring Job Ċ import Ġcom . stand up . core . sync . Sync Job ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠK eval Ġon Ġ 1 7 / 0 1 / 1 8 . Ċ Ġ* ĠE ver note Ġandroid - job Ġcreator . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ[ ke val p ate l 2 1 0 6 ]( https :// github . com / ke val p ate l 2 1 0 6 ) Ċ Ġ* Ġ@ see Ġ[ E ver note ĠJob ]( https :// github . com / ever note / android - job # usage ) Ċ Ġ*/ Ċ internal Ġclass ĠCore Job Creator Ġ: ĠJob Creator Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠInitialize Ġthe Ġinstance Ġof Ġthe Ġ[ Core Job Creator ]. ĠNotify Ġthe Ġ[ Job Manager ] Ġto Ġuse Ġit Ġto ĊĠĠĠĠĠĠĠĠ Ġ* Ġrun Ġthe Ġjob Ġbased Ġon Ġthe Ġtag . ĠThe Ġ[ Job Creator ] Ġmaps Ġa Ġjob Ġtag Ġto Ġa Ġspecific Ġjob Ġclass . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Core Job Creator ] Ġmust Ġhave Ġthe Ġsingle Ġinstance Ġthroughout Ġthe Ġapplication . ĠSo Ġthe Ġbest ĊĠĠĠĠĠĠĠĠ Ġ* Ġplace Ġto Ġcall Ġthis Ġmethod Ġis Ġin Ġthe Ġ[ Application ] Ġclass . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġcom . ke val p ate l 2 1 0 6 . common . application . Base Application ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ E ver note ĠJob ]( https :// github . com / ever note / android - job # usage ) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġinit ( application : ĠApplication ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJob Manager . create ( application ). add Job Creator ( Core Job Creator ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġjob Ġto Ġrun Ġbased Ġon Ġthe Ġtag Ġprovided Ġwhile Ġcreating Ġthe Ġjob . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠMapping : ĊĠĠĠĠ Ġ* Ġ- Ġ[ Activity Monitor Job . ACTIVITY _ MONITOR _ JOB _ TAG ] Ġ-> Ġ[ Activity Monitor Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Sync Job . SYNC _ JOB _ TAG ] Ġ-> Ġ[ Sync Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Sync Job . SYNC _ NOW _ JOB _ TAG ] Ġ-> Ġ[ Sync Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Notification Scheduler Job . REM IND ER _ NOTIFICATION _ JOB _ TAG ] Ġ-> Ġ[ Notification Scheduler Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Auto D nd Monitoring Job . AUTO _ D ND _ START _ JOB _ TAG ] Ġ-> Ġ[ Auto D nd Monitoring Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Auto D nd Monitoring Job . AUTO _ D ND _ END _ JOB _ TAG ] Ġ-> Ġ[ Auto D nd Monitoring Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Sleep Mode Monitoring Job . SLEEP _ MODE _ START _ JOB _ TAG ] Ġ-> Ġ[ Sleep Mode Monitoring Job ] ĊĠĠĠĠ Ġ* Ġ- Ġ[ Sleep Mode Monitoring Job . SLEEP _ MODE _ END _ JOB _ TAG ] Ġ-> Ġ[ Sleep Mode Monitoring Job ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException Ġif Ġthe Ġjob Ġfor Ġthe Ġ[ tag ] Ġnot Ġdeclared . ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ E ver note ĠJob ]( https :// github . com / ever note / android - job # usage ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcreate ( tag : ĠString ): ĠJob ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( tag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Monitor Job . ACTIVITY _ MONITOR _ JOB _ TAG Ġ-> ĠActivity Monitor Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSync Job . SYNC _ JOB _ TAG Ġ-> ĠSync Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSync Job . SYNC _ NOW _ JOB _ TAG Ġ-> ĠSync Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Scheduler Job . REM IND ER _ NOTIFICATION _ JOB _ TAG Ġ-> ĠNotification Scheduler Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuto D nd Monitoring Job . AUTO _ D ND _ START _ JOB _ TAG Ġ-> ĠAuto D nd Monitoring Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuto D nd Monitoring Job . AUTO _ D ND _ END _ JOB _ TAG Ġ-> ĠAuto D nd Monitoring Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSleep Mode Monitoring Job . SLEEP _ MODE _ START _ JOB _ TAG Ġ-> ĠSleep Mode Monitoring Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSleep Mode Monitoring Job . SLEEP _ MODE _ END _ JOB _ TAG Ġ-> ĠSleep Mode Monitoring Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDaily Review Job . DA IL Y _ RE VIEW _ TAG Ġ-> ĠDaily Review Job . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Did Ġyou Ġforget Ġto Ġadd Ġjob Ġfor Ġ$ tag Ġin ĠCore Job Creator ?") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ