package Ġcom . linux lu igi . static website k ios k app Ċ Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . webkit . Web Resource Request Ċ import Ġandroid . webkit . WebView Ċ import Ġkotlinx . android . synt hetic . main . activity _ web _ browser .* Ċ import Ġandroid . webkit . WebView Client ĊĊ Ċ class ĠWeb Browser Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ web _ browser ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġinit ĠWebView ĊĠĠĠĠĠĠĠ Ġinit WebView (" http ", Ġ" localhost ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit WebView ( scheme : ĠString , Ġhostname : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġload Ġdefault ĠURL ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġscheme Ġ+ Ġ" ://" Ġ+ Ġhostname ĊĠĠĠĠĠĠĠ Ġk ios k WebView . load Url ( url ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġremove Ġurl Ġbar ĊĠĠĠĠĠĠĠ Ġk ios k WebView . web View Client Ġ= ĠLocal host WebView Client () ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġsetup Ġsettings ĊĠĠĠĠĠĠĠ Ġk ios k WebView . settings . java Script Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġk ios k WebView . settings . java Script Can Open Windows Autom atically Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠLocal host WebView Client Ġ: ĠWebView Client () Ġ{ ĊĠĠĠ Ġ// Ġcustom ĠWebView Ġw itch Ġonly Ġallow Ġlocalhost Ġurls ĊĠĠĠ Ġfun Ġsh uld Override KeyEvent ( view : ĠWebView , Ġevent : ĠKeyEvent ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView ?, Ġrequest : ĠWeb Resource Request ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġif Ġnext Ġurl Ġis Ġon Ġhost Ġwith Ġhostname ĊĠĠĠĠĠĠĠ Ġvar Ġhostname Ġ= Ġrequest !!. url . host ĊĠĠĠĠĠĠĠ Ġprintln ( hostname ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest !!. url . host Ġ!= Ġ" localhost " ĊĠĠĠ Ġ} Ċ }