/* Ċ * ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠJohn ĠMag dal inos Ċ * Ċ * ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ * Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ * ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ * Ċ * ĠĠ ĉ http :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ * Ċ * ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ * Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ * ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ * ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ * Ġlimitations Ġunder Ġthe ĠLicense . Ċ */ Ċ Ċ package Ġcom . john mag dal inos . android . then ews app . view . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . webkit . WebView Client Ċ import Ġandroid . widget . ProgressBar Ċ import Ġcom . john mag dal inos . android . then ews app . R Ċ import Ġcom . john mag dal inos . android . then ews app . utils . Constants . Companion . DETAIL _ ACTIVITY _ URL _ STRING Ċ import Ġkotlinx . android . synt hetic . main . fragment _ detail . view .* Ċ Ċ /** Ċ Ġ* ĠFragment Ġhosting Ġa ĠWebView . ĠShows Ġa Ġsingle Ġarticle Ġthrough Ġits ĠURL Ċ Ġ*/ Ċ class ĠDetail Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm WebView : ĠWebView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠprogressBar : ĠProgress Bar ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( url String : ĠString ): ĠDetail Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment : ĠDetail Fragment Ġ= ĠDetail Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs : ĠBundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString ( DETAIL _ ACTIVITY _ URL _ STRING , Ġurl String ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠCreate Ġthe Ġview Ġand Ġsetup Ġthe ĠWebView Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView Ġ= Ġinflater . inflate ( R . layout . fragment _ detail , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠProgress Bar Ġused Ġto Ġindicate Ġloading Ġof Ġdata ĊĠĠĠĠĠĠĠ ĠprogressBar Ġ= Ġview . pb _ detail ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġthe ĠWebView ĊĠĠĠĠĠĠĠ Ġm WebView Ġ= Ġview . webview ĊĠĠĠĠĠĠĠ Ġwith ( m WebView !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLoad Ġthe Ġarticle 's ĠURL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Url ( arguments ?. getString ( DETAIL _ ACTIVITY _ URL _ STRING )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInstantiate Ġa ĠWebView Client Ġwith Ġa Ġlistener Ġhiding Ġthe ĠProgress Bar Ġwhen Ġpage Ġloading ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġis Ġcomplete ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView Client Ġ= Ġobject Ġ: ĠWebView Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Finished ( view : ĠWebView ?, Ġurl : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar ?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Page Finished ( view , Ġurl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠNavig ates Ġback Ġfrom Ġthe Ġwebpage Ġloaded Ġinto Ġthe ĠWebView Ġ*/ ĊĠĠĠ Ġfun Ġgo Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m WebView Ġ!= Ġnull Ġ&& Ġm WebView !!. can Go Back ()) Ġm WebView !!. go Back () ĊĠĠĠ Ġ} Ċ } Ċ