/* Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicensed Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . microsoft . device . samples . dual screen experience . presentation . util Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . Uri Ċ import Ġandroid . webkit . Web Resource Error Ċ import Ġandroid . webkit . Web Resource Request Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . webkit . WebView Client Ċ Ċ class ĠRe stricted WebView Client ( ĊĠĠĠ Ġprivate Ġval Ġaccepted Hosts : ĠList < String >, ĊĠĠĠ Ġprivate Ġval Ġon Ali en Link Clicked : Ġ(( String ?) Ġ-> ĠUnit ), ĊĠĠĠ Ġprivate Ġval Ġon Progress Started : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġon Progress Changed : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġon Timeout Received : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull Ċ ) Ġ: ĠWebView Client () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView ?, Ġrequest : ĠWeb Resource Request ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġrequest ?. url ?. toString () ĊĠĠĠĠĠĠĠ Ġif Ġ( Uri . parse ( url ). host Ġin Ġaccepted Hosts ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon Ali en Link Clicked . invoke ( url ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Started ( view : ĠWebView ?, Ġurl : ĠString ?, Ġfav icon : ĠBitmap ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Page Started ( view , Ġurl , Ġfav icon ) ĊĠĠĠĠĠĠĠ Ġon Progress Started ?. invoke () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Commit Visible ( view : ĠWebView ?, Ġurl : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Page Commit Visible ( view , Ġurl ) ĊĠĠĠĠĠĠĠ Ġon Progress Changed ?. invoke () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Received Error ( ĊĠĠĠĠĠĠĠ Ġview : ĠWebView ?, ĊĠĠĠĠĠĠĠ Ġrequest : ĠWeb Resource Request ?, ĊĠĠĠĠĠĠĠ Ġerror : ĠWeb Resource Error ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Received Error ( view , Ġrequest , Ġerror ) ĊĠĠĠĠĠĠĠ Ġif Ġ( error ?. errorCode Ġ== ĠERROR _ TIMEOUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Timeout Received ?. invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ