package Ġex h . ui . captcha Ċ Ċ import Ġandroid . webkit . Web Resource Request Ċ import Ġandroid . webkit . Web Resource Response Ċ import Ġandroid . webkit . WebView Ċ import Ġeu . kan ade . t ach iy omi . util . as J soup Ċ import Ġorg . js oup . nodes . DataNode Ċ import Ġorg . js oup . nodes . Element Ċ Ċ class ĠAuto Sol ving WebView Client ( ĊĠĠĠ Ġactivity : ĠBrowser Action Activity , ĊĠĠĠ Ġverify Complete : Ġ( String ) Ġ-> ĠBoolean , ĊĠĠĠ Ġinject Script : ĠString ?, ĊĠĠĠ Ġheaders : ĠMap < String , ĠString > Ċ ) Ġ: ĠHeaders Inject ing WebView Client ( activity , Ġverify Complete , Ġinject Script , Ġheaders ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġshould Intercept Request ( view : ĠWebView , Ġrequest : ĠWeb Resource Request ): ĠWeb Resource Response ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInject Ġour Ġcustom Ġscript Ġinto Ġthe Ġre captcha Ġiframe s ĊĠĠĠĠĠĠĠ Ġval Ġlast Path Segment Ġ= Ġrequest . url . path Segments . last OrNull () ĊĠĠĠĠĠĠĠ Ġif Ġ( last Path Segment Ġ== Ġ" anchor " Ġ|| Ġlast Path Segment Ġ== Ġ" b frame ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġo Req Ġ= Ġrequest . to Ok HttpRequest () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġactivity . httpClient . new Call ( o Req ). execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdoc Ġ= Ġresponse . as J soup () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . body (). appendChild ( Element (" script "). appendChild ( DataNode ( Browser Action Activity . CROSS _ WINDOW _ SCRIPT _ INNER ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠWeb Resource Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text / html ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" UTF - 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . toString (). byte InputStream (). buffered () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . should Intercept Request ( view , Ġrequest ) ĊĠĠĠ Ġ} Ċ } Ċ