package Ġat . all about apps . gd pr . policy Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Mail To Ċ import Ġandroid . net . Uri Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . webkit . WebView Client Ċ Ċ internal Ġclass ĠPolicy WebView Client ( private Ġval Ġcallback : ĠCallback ) Ġ: ĠWebView Client () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġfailed Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView , Ġurl : ĠString ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Uri . parse ( url ). encoded Fragment Ġ== ĠFR AG MENT _ OPT _ OUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Show Opt Out Selected () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Http Url ( url ) Ġ-> Ġnew Url Intent ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis PhoneNumber Url ( url ) Ġ-> ĠIntent ( Intent . ACTION _ DI AL , ĠUri . parse ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Mail To Url ( url ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmt Ġ= ĠMail To . parse ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Email Intent ( mt . to , Ġmt . subject , Ġmt . body , Ġmt . cc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . context . startActivity ( Intent . create Chooser ( intent , Ġ"")) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo Update Vis ited History ( view : ĠWebView ?, Ġurl : ĠString ?, Ġis Reload : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . do Update Vis ited History ( view , Ġurl , Ġis Reload ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Uri . parse ( url ). encoded Fragment Ġ== ĠFR AG MENT _ OPT _ OUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Show Opt Out Selected () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Received Error ( ĊĠĠĠĠĠĠĠ Ġview : ĠWebView , ĊĠĠĠĠĠĠĠ ĠerrorCode : ĠInt , ĊĠĠĠĠĠĠĠ Ġdescription : ĠString , ĊĠĠĠĠĠĠĠ Ġfailing Url : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Received Error ( view , ĠerrorCode , Ġdescription , Ġfailing Url ) ĊĠĠĠĠĠĠĠ Ġfailed Url Ġ= Ġfailing Url ĊĠĠĠĠĠĠĠ Ġcallback . onError () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Finished ( view : ĠWebView , Ġurl : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Page Finished ( view , Ġurl ) ĊĠĠĠĠĠĠĠ Ġif Ġ( failed Url Ġ!= Ġnull Ġ&& Ġfailed Url Ġ== Ġurl ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Url Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcallback . on Finished Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis PhoneNumber Url ( url : ĠString ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġurl . startsWith ( PREFIX _ TEL , Ġignore Case Ġ= Ġtrue ) ĊĊĠĠĠ Ġprivate Ġfun Ġis Mail To Url ( url : ĠString ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġurl . startsWith ( PREFIX _ MAIL _ TO , Ġignore Case Ġ= Ġtrue ) ĊĊĠĠĠ Ġprivate Ġfun Ġis Http Url ( url : ĠString ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġurl . startsWith ( PREFIX _ HTTPS , Ġignore Case Ġ= Ġtrue ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl . startsWith ( PREFIX _ HTTP , Ġignore Case Ġ= Ġtrue ) ĊĊĠĠĠ Ġprivate Ġfun Ġnew Url Intent ( url : ĠString ): ĠIntent Ġ= ĊĠĠĠĠĠĠĠ ĠIntent ( Intent . ACTION _ VIEW ). setData ( Uri . parse ( url )) ĊĊĠĠĠ Ġprivate Ġfun Ġnew Email Intent ( ĊĠĠĠĠĠĠĠ Ġaddress : ĠString , ĊĠĠĠĠĠĠĠ Ġsubject : ĠString ?, ĊĠĠĠĠĠĠĠ Ġbody : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcc : ĠString ? ĊĠĠĠ Ġ): ĠIntent Ġ= ĊĠĠĠĠĠĠĠ ĠIntent ( Intent . ACTION _ SEND TO , ĠUri . from Parts (" mailto ", Ġaddress , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Intent . EXTRA _ EMAIL , Ġaddress ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Intent . EXTRA _ TEXT , Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Intent . EXTRA _ SUBJECT , Ġsubject ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Intent . EXTRA _ CC , Ġcc ) ĊĊĠĠĠ Ġinterface ĠCallback Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Deprecated (" with Ġv 1 . 0 Ġthe Ġsettings Ġshould Ġbe Ġaccessed Ġvia Ġthe Ġmenu Ġdirectly ") ĊĠĠĠĠĠĠĠ Ġfun Ġon Show Opt Out Selected () ĊĊĠĠĠĠĠĠĠ Ġfun ĠonError () ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Finished Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPREFIX _ HTTP Ġ= Ġ" http :" ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPREFIX _ HTTPS Ġ= Ġ" https :" ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPREFIX _ TEL Ġ= Ġ" tel :" ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPREFIX _ MAIL _ TO Ġ= Ġ" mailto :" ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠLinks Ġto Ġrefer Ġto Ġopt Ġout Ġmust Ġbe Ġof Ġthe Ġform Ġ`# fragment `. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFR AG MENT _ OPT _ OUT Ġ= Ġ" app - opt - out " ĊĠĠĠ Ġ} Ċ } Ċ