package Ġcom . rod rig matrix . sig aa u fc . ui . view . sig aa . documents Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Environment Ċ import Ġandroid . os . Strict Mode Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroidx . core . content . Context Compat . check Self Permission Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . rod rig matrix . sig aa u fc . R Ċ import Ġcom . rod rig matrix . sig aa u fc . ui . base . Scoped Fragment Ċ import Ġkotlinx . android . synt hetic . main . documents _ fragment .* Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . jetbrains . ank o . support . v 4 . run On Ui Thread Ċ import Ġorg . kode in . di . K ode in Aware Ċ import Ġorg . kode in . di . android . x . closest K ode in Ċ import Ġorg . kode in . di . generic . instance Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ class ĠDocuments Fragment Ġ: ĠScoped Fragment ( R . layout . documents _ fragment ), ĠK ode in Aware Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠDocuments ViewModel ĊĊĠĠĠ Ġoverride Ġval Ġk ode in Ġby Ġclosest K ode in () ĊĠĠĠ Ġprivate Ġval ĠviewModel Factory : ĠDocuments ViewModel Factory Ġby Ġinstance () ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this , ĠviewModel Factory )[ Documents ViewModel :: class . java ] ĊĠĠĠĠĠĠĠ Ġcard _ history . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Files Permission () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Files Permission (){ ĊĠĠĠĠĠĠĠ Ġif ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( check Self Permission ( context !! , ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ) Ġ== ĠPackage Manager . PERMISSION _ DEN IED ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Request () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Download () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Download () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Request () Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġas ĠActivity , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Download (){ ĊĠĠĠĠĠĠĠ Ġval Ġprogress Ġ= ĠProgress Dialog ( view ?. context ) ĊĠĠĠĠĠĠĠ Ġprogress . setTitle (" Ger ando ĠH ist Ã³ ric o ") ĊĠĠĠĠĠĠĠ Ġprogress . set Progress Style ( Progress Dialog . STYLE _ HORIZONTAL ) ĊĠĠĠĠĠĠĠ Ġprogress . isIn determinate Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġprogress . show () ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . get H istor ico () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdirectory Ġ= ĠEnvironment . get External Storage Directory (). toString () Ġ+ Ġ"/ Download " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġjava . io . File ( directory , Ġ" h istor ico _ sig aa . pdf "). read Lines (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( res . contains (" html ")){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdirectory Ġ= ĠEnvironment . get External Storage Directory (). toString () Ġ+ Ġ"/ Download " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġjava . io . File ( directory , Ġ" h istor ico _ sig aa . pdf "). read Lines (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . save ViewState ( res ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Erro Ġao Ġba ix ar Ġarquivo . ĠT ente Ġef et uar Ġlogin Ġnov amente Ġe Ġtent ar Ġnov amente ", ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ar quivo Ġba ix ado Ġcom Ġsu cesso . ĠVer ifique Ġsua Ġpast a Ġde ĠDown loads ", ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStrict Mode . Vm Policy . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStrict Mode . set Vm Policy ( builder . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . detect File Uri Exposure () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen File Ġ= Ġjava . io . File ("$ directory / h istor ico _ sig aa . pdf ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . setData And Type (( Uri . from File ( open File )), Ġ" application / pdf ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NO _ HISTORY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . create Chooser ( target , Ġ" Ab rir Ġhist Ã³ ric o ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. context ?. startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : Ġandroid . content . Activity NotFoundException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Por Ġfavor Ġinst ale Ġum Ġger enci ador Ġde Ġarquivos Ġpara Ġvisual izar Ġseus Ġdownloads .", ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ