package Ġeu . p cost a . f lick er gallery . services Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġandroid . net . Network Ċ import Ġandroid . net . Network Request Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . processors . Behavior Processor Ċ Ċ /** Ċ Ġ* ĠService Ġto Ġinform Ġthe Ġcurrent Ġdevice Ġinternet Ġconnection Ġstate Ċ Ġ*/ Ċ interface ĠConnect ivity Service Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġcurrent Ġconnection Ġstate ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠConnection Ġstate ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Connected To Internet (): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOb serve Ġthe Ġconnection Ġstate ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠFlow able Ġobservable Ġwith Ġthe Ġconnection Ġstate . ĠIt Ġwill Ġstart Ġwith Ġvalue Ġif Ġavailable ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġobserve Is Connected To Internet (): ĠFlow able < Boolean > Ċ } Ċ Ċ class ĠConnect ivity ServiceImpl ( context : ĠContext ) Ġ: ĠConnect ivity Service Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġconnection Processor Ġ= ĠBehavior Processor . create Default ( false ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconnectivity Service Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ĊĠĠĠĠĠĠĠ Ġconnectivity Service . register Network Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork Request . Builder (). build (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠConnect ivity Manager . Network Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Available ( network : ĠNetwork ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection Processor . onNext ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Lost ( network : ĠNetwork ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection Processor . onNext ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Connected To Internet (): ĠBoolean Ġ= Ġconnection Processor . value !! ĊĊĠĠĠ Ġoverride Ġfun Ġobserve Is Connected To Internet (): ĠFlow able < Boolean > Ġ= Ġconnection Processor Ċ }