package Ġcom . google . android . gms . location . sample . background location updates Ċ Ċ /* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ ĊĊ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . location . Location Ċ import Ġandroid . util . Log Ċ Ċ import Ġcom . google . android . gms . location . Location Result Ċ Ċ /** Ċ Ġ* ĠReceiver Ġfor Ġhandling Ġlocation Ġupdates . Ċ Ġ* Ċ Ġ* ĠFor Ġapps Ġtargeting ĠAPI Ġlevel ĠO Ċ Ġ* Ġ[ android . app . Pending Intent . get Broadcast ] Ġshould Ġbe Ġused Ġwhen Ċ Ġ* Ġrequesting Ġlocation Ġupdates . ĠDue Ġto Ġlimits Ġon Ġbackground Ġservices , Ċ Ġ* Ġ[ android . app . Pending Intent . getService ] Ġshould Ġnot Ġbe Ġused . Ċ Ġ* Ċ Ġ* ĠNote : ĠApps Ġrunning Ġon Ġ" O " Ġdevices Ġ( reg ard less Ġof Ġtarget Sdk Version ) Ġmay Ġreceive Ġupdates Ċ Ġ* Ġless Ġfrequently Ġthan Ġthe Ġinterval Ġspecified Ġin Ġthe Ċ Ġ* Ġ[ com . google . android . gms . location . Location Request ] Ġwhen Ġthe Ġapp Ġis Ġno Ġlonger Ġin Ġthe Ċ Ġ* Ġforeground . Ċ Ġ*/ Ċ class ĠLocation Updates Broadcast Receiver Ġ: ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext , Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġintent . action ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ACTION _ PROCESS _ UP DAT ES Ġ== Ġaction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠLocation Result . extract Result ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocations Ġ= Ġresult . locations ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Result Helper Ġ= ĠLocation Result Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġlocations ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSave Ġthe Ġlocation Ġdata Ġto ĠSharedPreferences . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Result Helper . save Results () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠShow Ġnotification Ġwith Ġthe Ġlocation Ġdata . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Result Helper . show Notification () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , ĠLocation Result Helper . get Saved Location Result ( context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" L UB roadcast Receiver " ĊĊĠĠĠĠĠĠĠ Ġinternal Ġval ĠACTION _ PROCESS _ UP DAT ES Ġ= Ġ" com . google . android . gms . location . sample . background location updates . action " Ġ+ Ġ". PROCESS _ UP DAT ES " ĊĠĠĠ Ġ} Ċ } Ċ