package Ġcom . soft k are . it reader . fragments Ċ Ċ import Ġandroid . app . Download Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Environment Ċ import Ġandroid . webkit .* Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . soft k are . it reader . R ĊĊ Ċ class ĠWeb Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ web ) ĊĠĠĠĠĠĠĠ Ġval Ġpdf url Ġ= Ġintent . getString Extra (" pdf _ url ") ĊĠĠĠĠĠĠĠ Ġprintln ( pdf url ) ĊĠĠĠĠĠĠĠ Ġval Ġpdf Ġ= ĠfindViewById < WebView >( R . id . web ) ĊĠĠĠĠĠĠĠ Ġpdf . web Chrome Client Ġ= Ġobject Ġ: ĠWeb Chrome Client (){} ĊĠĠĠĠĠĠĠ Ġpdf . web View Client Ġ= Ġobject Ġ: ĠWebView Client (){} ĊĠĠĠĠĠĠĠ Ġpdf . settings . set Support Zoom ( true ) ĊĠĠĠĠĠĠĠ Ġpdf . settings . java Script Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( pdf url Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpdf . load Url ( pdf url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpdf . set Download Listener Ġ{ Ġurl , Ġuser Agent , Ġcontent Disposition , ĠmimeType , Ġcontent Length Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠDownload Manager . Request ( Uri . parse ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set MimeType ( mime Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . add Request Header (" cookie ", ĠCookie Manager . getInstance (). get Cookie ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . add Request Header (" User - Agent ", Ġuser Agent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . setDescription (" Downloading Ġfile ...") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . setTitle ( URL Util . guess FileName ( url , Ġcontent Disposition , ĠmimeType )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . allow Sc anning By Media Scanner () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set Notification Visibility ( Download Manager . Request . VIS IBILITY _ VISIBLE _ NOTIFY _ COMPLETED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set Destination In External Files Dir ( this , ĠEnvironment . DIRECTORY _ DOWNLOAD S , Ġ". pdf ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdm Ġ= Ġget System Service ( Context . DOWNLOAD _ SERVICE ) Ġas ĠDownload Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdm . enqueue ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" Downloading ĠFile ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* Ret rive PDF from Url ( pdf ). execute ( pdf url ) Ċ } ĊĠĠĠ Ġ// Ġcreate Ġan Ġasync Ġtask Ġclass Ġfor Ġloading Ġpdf Ġfile Ġfrom ĠURL . ĊĠĠĠ Ġ// Ġcreate Ġan Ġasync Ġtask Ġclass Ġfor Ġloading Ġpdf Ġfile Ġfrom ĠURL . Ċ private Ġclass ĠRet rive PDF from Url ( pdf : ĠPDF View ) Ġ: ĠAsync Task < String ?, ĠVoid ?, ĠInputStream ?> () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġpdf 2 Ġ= Ġpdf ĊĠĠĠĠĠĠĠ Ġprotected Ġoverride Ġfun Ġdo In Background ( var arg Ġstrings : ĠString ?): ĠInputStream ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwe Ġare Ġusing Ġinput stream ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfor Ġgetting Ġout ĠPDF . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠinputStream : ĠInputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠURL ( strings [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbelow Ġis Ġthe Ġstep Ġwhere Ġwe Ġare ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreating Ġour Ġconnection . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Connection : ĠHttp URLConnection Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . open Connection () Ġas ĠHttp s URLConnection ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( url Connection . getResponse Code () Ġ=== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġresponse Ġis Ġsuccess . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwe Ġare Ġgetting Ġinput Ġstream Ġfrom Ġurl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġand Ġstoring Ġit Ġin Ġour Ġvariable . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠinputStream Ġ= ĠBuffered InputStream ( url Connection . getInputStream ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠinputStream ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġon Post Execute ( inputStream : ĠInputStream ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġafter Ġthe Ġexecution Ġof Ġour Ġasync ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtask Ġwe Ġare Ġloading Ġour Ġpdf Ġin Ġour Ġpdf Ġview . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpdf 2 . from Stream ( inputStream ). load () ĊĠĠĠĠĠĠĠ Ġ} Ċ }*/ Ċ Ċ }