/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . ac ra . scheduler Ċ Ċ import Ġandroid . app . job . Job Info Ċ import Ġandroid . app . job . Job Scheduler Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġorg . ac ra . config . Core Configuration Ċ import Ġorg . ac ra . sender . Job Sender Service Ċ import Ġorg . ac ra . sender . Legacy Sender Service Ċ import Ġorg . ac ra . sender . Sending Con duct or Ċ import Ġorg . ac ra . util . IO Utils Ċ import Ġorg . ac ra . util . to Persist able Bundle Ċ Ċ /** Ċ Ġ* ĠSimply Ġs chedules Ġsending Ġinstant ly Ċ Ġ* Ċ Ġ* Ġ@ author ĠF 4 3 nd 1 r Ċ Ġ* Ġ@ since Ġ 1 8 . 0 4 . 1 8 Ċ Ġ*/ Ċ @ Suppress (" Member Visibility Can Be Private ", Ġ" UNUSED _ PARAMETER ") Ċ open Ġclass ĠDefault Sender Scheduler ( private Ġval Ġcontext : ĠContext , Ġprivate Ġval Ġconfig : ĠCore Configuration ) Ġ: ĠSender Scheduler Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġschedule Report Sending ( only Send Sil ent Reports : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġextras . putString ( Legacy Sender Service . EXTRA _ AC RA _ CONFIG , ĠIO Utils . serialize ( config )) ĊĠĠĠĠĠĠĠ Ġextras . put Boolean ( Legacy Sender Service . EXTRA _ ONLY _ SEND _ SIL ENT _ REPORT S , Ġonly Send Sil ent Reports ) ĊĠĠĠĠĠĠĠ Ġconfigure Extras ( extras ) ĊĠĠĠĠĠĠĠ Ġval Ġconduct or Ġ= ĠSending Con duct or ( context , Ġconfig ) ĊĠĠĠĠĠĠĠ Ġif Ġ( cond uctor . get Sender Instances ( false ). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscheduler Ġ= Ġ( context . getSystem Service ( Context . JOB _ SCHEDUL ER _ SERVICE ) Ġas ĠJob Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠJob Info . Builder ( 0 , ĠComponent Name ( context , ĠJob Sender Service :: class . java )). set Extras ( extras . to Persist able Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Job ( builder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler . schedule ( builder . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . put Extras ( extras ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . component Ġ= ĠComponent Name ( context , ĠLegacy Sender Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . start Service ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( cond uctor . get Sender Instances ( true ). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconduct or . send Reports ( true , Ġextras ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġallows Ġto Ġperform Ġadditional Ġconfiguration Ġin Ġsubclasses ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġjob Ġthe Ġjob Ġbuilder ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . LO L LI POP ) ĊĠĠĠ Ġprotected Ġopen Ġfun Ġconfigure Job ( job : ĠJob Info . Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjob . set Override Deadline ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġallows Ġto Ġprovide Ġadditional Ġextras Ġto Ġsend ers ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġextras Ġthe Ġextras Ġbundle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġconfigure Extras ( extras : ĠBundle ) Ġ{} Ċ }