package Ġcom . azure . core . network Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġcom . azure . core . util . Context Provider Ċ Ċ internal Ġclass ĠPre L ol lip op Network Connectivity Manager : ĠNetwork Connectivity Manager Ġ{ ĊĠĠĠĠĊĠĠĠ Ġprivate Ġvar Ġconnectivity Receiver : ĠBroadcast Receiver ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġregister Listener ( callback : Ġ( Boolean ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconnectivity Receiver Ġ= Ġobject : ĠBroadcast Receiver () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġcontext . getSystem Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnetwork Info Ġ= Ġmanager . active Network Info ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( network Info Ġ!= Ġnull Ġ&& Ġnetwork Info . isConnected ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Listening () Ġ{ ĊĠĠĠĠĠĠĠ Ġconnectivity Receiver ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfilter Ġ= ĠIntent Filter () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignore Ġdeprecation Ġsince Ġthis Ġis Ġfor ĠPre - L ol lip op Ġonly ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter . addAction ( Connectivity Manager . CONNECT IVITY _ ACTION ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Provider . app Context . register Receiver ( it , Ġfilter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġstop Listening () Ġ{ ĊĠĠĠĠĠĠĠ ĠContext Provider . app Context . unregister Receiver ( this . connectivity Receiver ) ĊĠĠĠ Ġ} Ċ }