/** Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ- Ġ 2 0 2 1 Ċ Ġ* Ċ Ġ* ĠMat thew ĠR af use Ġ< mat thew . raf use @ u water lo o . ca > Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 Ġ- Ġ 2 0 1 7 Ċ Ġ* Ċ Ġ* ĠDaniel ĠHint ze Ġ< daniel . hint ze ></ daniel . hint ze >@ f hd w . de > Ċ Ġ* ĠSeb astian ĠSch ol z Ġ< se b astian . sch ol z ></ se b astian . sch ol z >@ f hd w . de > Ċ Ġ* ĠR ain hard ĠD . ĠFind ling Ġ< rain hard . find ling ></ rain hard . find ling >@ fh - h agen berg . at > Ċ Ġ* ĠMu ham mad ĠM ua az Ġ< mu ham mad . m ua az ></ mu ham mad . m ua az >@ us m ile . at > Ċ Ġ* Ċ Ġ* Ġ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 Ġca . u water lo o . mr af use . context . api Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Binder Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . IB inder Ċ import Ġandroid . os . Message Ċ import Ġca . u water lo o . mr af use . context . api . P UP y Constants . PLUGIN _ TYPE Ċ import Ġca . u water lo o . mr af use . context . api . model . Status Data Prox imity Ċ Ċ /** Ċ Ġ* ĠBase Ġclass Ġfor Ġall Ġrisk Ġplugin Ġservices Ġwith Ġconvenient Ġmethods . Ċ Ġ*/ Ċ abstract Ġclass ĠAbstract Prox imity Service Ġ: ĠAbstract Plugin Service () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Binder Ġ= ĠPro x imity Plugin Service Binder () ĊĠĠĠ Ġprotected Ġfun Ġpublish Risk Update ( status Data Prox imity : ĠStatus Data Prox imity ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġcreate Prox imity Data Bundle ( status Data Prox imity ) ĊĠĠĠĠĠĠĠ Ġpublish Data Update ( bundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġplugin Type : ĠP LU GIN _ TYPE ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠP LU GIN _ TYPE . prox imity ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Prox imity Data Bundle ( status Data Prox imity : ĠStatus Data Prox imity ?): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġbundle . put Parcelable ( P UP y Constants . KEY _ STATUS _ DATA _ PRO X IM ITY , Ġstatus Data Prox imity ) ĊĠĠĠĠĠĠĠ Ġbundle . put Parcelable ( P UP y Constants . KEY _ COMPONENT _ NAME , Ġservice Component Name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbundle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Published Data ( msg : ĠMessage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( intent : ĠIntent ): ĠI Binder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Binder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠPro x imity Plugin Service Binder Ġ: ĠB inder () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠReturn Ġthis Ġinstance Ġof ĠAbstract Plugin Service Ġso Ġclients Ġcan Ġcall Ġpublic Ġmethods ĊĠĠĠĠĠĠĠ Ġval Ġservice : ĠAbstract Prox imity Service ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= // ĠReturn Ġthis Ġinstance Ġof ĠAbstract Plugin Service Ġso Ġclients Ġcan Ġcall Ġpublic Ġmethods ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Abstract Prox imity Service ĊĠĠĠ Ġ} Ċ }