package Ġke . co . ip andas oft . t uk on ew sc lient . ui . activity . main . browser Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . webkit . Web Chrome Client Ċ import Ġandroid . webkit . Web Settings Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . webkit . WebView Client Ċ import Ġke . co . ip andas oft . t uk on ew sc lient . R Ċ import Ġke . co . ip andas oft . t uk on ew sc lient . ui . base . Base Activity Ċ import Ġke . co . ip andas oft . t uk on ew sc lient . utils . isOpen App Ċ import Ġkotlinx . android . synt hetic . main . browser _ activity .* Ċ import Ġorg . ad block plus . lib ad block plus . android . A db lock Engine Ċ import Ġorg . ad block plus . lib ad block plus . android . settings . A db lock Helper Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠBrowser Activity Ġ: Base Activity (){ ĊĊĠĠĠ Ġprivate Ġval Ġurl Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . getString Extra (" news _ url ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġtitle Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . getString Extra (" news Title ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġweb Setting : ĠWeb Settings ĊĊĊĠĠĠ Ġoverride Ġfun Ġlayout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . browser _ activity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Ad Block er () ĊĠĠĠĠĠĠĠ Ġval Ġis Article = intent . getBoolean Extra (" is Article ", false ) ĊĊĠĠĠĠĠĠĠ ĠTim ber . e (" NE WS ĠTITLE Ġ Ġ$ is Article ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Article ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title = title ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Ad Block er () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠ Ġbind Views () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Nav Click Ġ{ Ġon Back Pressed () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Menu Click Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbind WebView () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind WebView () Ġ{ ĊĠĠĠĠĠĠĠ Ġweb _ view . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Javascript Interface (" search Box JavaBridge _ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Javascript Interface (" accessibility Traversal ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Javascript Interface (" accessibility ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġuse Ġshared Ġfilters Ġdata Ġ( not Ġto Ġincrease Ġmemory Ġconsumption ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Provider ( A db lock Helper . get (). provider ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġweb Setting Ġ= Ġweb _ view . settings ĊĠĠĠĠĠĠĠ Ġweb Setting . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava Script Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse Wide View Port Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload With Overview Mode Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloads Images Autom atically Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Text Encoding Name Ġ= Ġ" utf - 8 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdom Storage Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset App Cache Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmixed Content Mode Ġ= ĠWeb Settings . MIX ED _ CONTENT _ ALWAYS _ ALLOW ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġweb _ view . load Url ( url ) ĊĠĠĠĠĠĠĠ Ġweb _ view . web View Client Ġ= Ġobject Ġ: ĠWebView Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ", Ġ" Over riding Deprecated Member ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView , Ġurl : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ?: Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( url . isOpen App ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse ( url ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . should Override Url Loading ( view , Ġurl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Finished ( view : ĠWebView ?, Ġurl : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġweb _ view . web Chrome Client Ġ= Ġobject Ġ: ĠWeb Chrome Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Received Title ( view : ĠWebView ?, Ġtitle : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( view : ĠWebView ?, Ġnew Progress : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Progress Ġ== Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . alpha Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . progress Ġ= Ġnew Progress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġif Ġ( web _ view . can Go Back ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ view . go Back () ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }