/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠBir ju ĠV ach h ani Ġ( https :// github . com / B ir ju V ach h ani ) Ċ Ġ* Ġ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 . bir j uv ach h ani . loc us Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġcom . google . android . gms . location . Location Result Ċ Ċ /* Ċ Ġ* ĠCreated Ġby ĠBir ju ĠV ach h ani Ġon Ġ 1 2 ĠAugust Ġ 2 0 1 9 Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 Ġloc us - android . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠRe ceiv es Ġlocation Ġbroadcast s Ċ Ġ*/ Ċ internal Ġclass ĠLocation Broadcast Receiver Ġ: ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠACTION _ PROCESS _ UP DAT ES Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . bir j uv ach h ani . loc us . Location Provider . Location Broadcast Receiver . action . PROCESS _ UP DAT ES " ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Pending Intent ( context : ĠContext ): ĠPending Intent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠLocation Broadcast Receiver :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . action Ġ= ĠACTION _ PROCESS _ UP DAT ES ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPending Intent . get Broadcast ( context , Ġ 0 , Ġintent , ĠPending Intent . FLAG _ UPDATE _ CURRENT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog Debug (" Received Ġlocation Ġupdate Ġbroadcast ") ĊĠĠĠĠĠĠĠ Ġintent Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( intent . action Ġ== ĠACTION _ PROCESS _ UP DAT ES ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocation Result . extract Result ( intent )?. let Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result . locations . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Debug (" Received Ġlocation Ġ${ result . last Location }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation LiveData . post Value ( Loc us Result . success ( result . last Location )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }