package Ġcom . je ff . architecture _ mv vm . model . api Ċ Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Request Ċ import Ġokhttp 3 . Response Ċ import Ġjava . net . Http URLConnection Ċ Ċ class ĠAuth Interceptor Ġ: ĠInter ceptor Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġchain . proceed ( chain . build Request ()) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( response . code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp URLConnection . HTTP _ UN AUTHORIZ ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO : Ġdo Ġrefresh Ġtoken , Ġthen Ġnew Ġtoken Ġsave Ġto Ġpref . token ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . IO ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Repository . refresh Token () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchain . proceed ( chain . build Request ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġresponse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInter ceptor . Chain . build Request (): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Builder Ġ= Ġrequest (). newBuilder () ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest Builder . build () ĊĠĠĠ Ġ} Ċ }