package Ġcom . more ye ah . test . data . network Config Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġandroid . util . Log Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ import Ġjava . io . IOException Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Singleton Ċ class ĠNetwork Connection Interceptor Ġ@ Inject Ġconstructor ( private Ġval ĠmContext : ĠContext ) Ġ: ĠInter ceptor Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġis Connected : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Network Connection Interceptor ", Ġ" get () ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconnectivity Manager Ġ= ĠmContext . getSystem Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnet Info Ġ= Ġconnectivity Manager . active Network Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnet Info Ġ!= Ġnull Ġ&& Ġnet Info . isConnected ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e (" Network Connection Interceptor ", Ġ" intercept () ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! isConnected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNo Connectivity Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThrow ing Ġour Ġcustom Ġexception Ġ' No Connectivity Exception ' ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġchain . request (). newBuilder () ĊĠĠĠĠĠĠĠ Ġreturn Ġchain . proceed ( builder . build ()) ĊĠĠĠ Ġ} Ċ Ċ }