@@ -8,19 +8,21 @@ import android.print.PrintAttributes
88import android.print.PrintManager
99import android.view.WindowManager
1010import android.widget.RelativeLayout
11- import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle
1211import com.simplemobiletools.commons.extensions.*
1312import com.simplemobiletools.commons.helpers.REAL_FILE_PATH
1413import com.simplemobiletools.commons.helpers.isPiePlus
1514import com.simplemobiletools.filemanager.pro.R
1615import com.simplemobiletools.filemanager.pro.extensions.hideSystemUI
1716import com.simplemobiletools.filemanager.pro.extensions.showSystemUI
1817import com.simplemobiletools.filemanager.pro.helpers.PdfDocumentAdapter
18+ import es.voghdev.pdfviewpager.library.adapter.BasePDFPagerAdapter
19+ import es.voghdev.pdfviewpager.library.adapter.PDFPagerAdapter
1920import kotlinx.android.synthetic.main.activity_pdf_viewer.*
2021
2122class PDFViewerActivity : SimpleActivity () {
2223 private var realFilePath = " "
2324 private var isFullScreen = false
25+ private var adapter: BasePDFPagerAdapter ? = null
2426
2527 override fun onCreate (savedInstanceState : Bundle ? ) {
2628 showTransparentTop = true
@@ -54,6 +56,11 @@ class PDFViewerActivity : SimpleActivity() {
5456 window.navigationBarColor = Color .TRANSPARENT
5557 }
5658
59+ override fun onDestroy () {
60+ super .onDestroy()
61+ adapter?.close()
62+ }
63+
5764 private fun setupMenu () {
5865 (pdf_viewer_appbar.layoutParams as RelativeLayout .LayoutParams ).topMargin = statusBarHeight
5966 pdf_viewer_toolbar.menu.apply {
@@ -92,17 +99,19 @@ class PDFViewerActivity : SimpleActivity() {
9299 return
93100 }
94101
95- val primaryColor = getProperPrimaryColor()
96102 pdf_viewer.setBackgroundColor(getProperBackgroundColor())
97- pdf_viewer.fromUri(uri)
98- .scrollHandle(DefaultScrollHandle (this , primaryColor.getContrastColor(), primaryColor))
99- .spacing(15 )
100- .onTap { toggleFullScreen() }
101- .onError {
102- showErrorToast(it.localizedMessage?.toString() ? : getString(R .string.unknown_error_occurred))
103- finish()
103+
104+ adapter = PDFPagerAdapter .Builder (this )
105+ .setPdfPath(uri.toString())
106+ .setOnPageClickListener {
107+ toggleFullScreen()
104108 }
105- .load()
109+ .setErrorHandler { throwable ->
110+ showErrorToast(throwable.toString())
111+ }
112+ .create()
113+
114+ pdf_viewer.adapter = adapter
106115
107116 showSystemUI(true )
108117
0 commit comments