package Ġme . d mb a . team work boards . webkit Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . net . Uri . parse Ċ import Ġandroid . webkit . Web Resource Request Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . webkit . WebView Client Ċ import Ġio . reactivex . subjects . Behavior Subject Ċ import Ġio . reactivex . subjects . Subject Ċ import Ġme . d mb a . team work boards . data . model . access . Auth Repo Ċ import Ġme . d mb a . team work boards . utils . KEY _ CODE Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġd mb a Ġon Ġ 7 / 1 7 / 1 8 . Ċ Ġ*/ Ċ class ĠTeam work Login WebView Client Ġ@ Inject Ġconstructor ( ĊĊĠĠĠ Ġprivate Ġval Ġauth Repo : ĠAuth Repo Ċ Ċ ) Ġ: ĠWebView Client () Ġ{ ĊĊĠĠĠ Ġval Ġon Receive Login Code : ĠSubject < String > Ġ= ĠBehavior Subject . create () ĊĊĠĠĠ Ġval Ġlogin Redirect Uri : ĠUri Ġby Ġlazy Ġ{ Ġparse ( auth Repo . login Redirect Url ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView , Ġrequest : ĠWeb Resource Request ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( request . url . scheme Ġ== Ġlogin Redirect Uri . scheme ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Receive Login Code . onNext ( request . url . getQuery Parameter ( KEY _ CODE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ