@@ -6,21 +6,16 @@ import android.graphics.Color
66import android.os.Bundle
77import android.print.PrintAttributes
88import android.print.PrintManager
9- import android.view.View
109import android.view.WindowManager
11- import androidx.constraintlayout.widget.ConstraintLayout
12- import androidx.viewpager2.widget.MarginPageTransformer
13- import androidx.viewpager2.widget.ViewPager2
14- import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
10+ import android.widget.RelativeLayout
11+ import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle
1512import com.simplemobiletools.commons.extensions.*
1613import com.simplemobiletools.commons.helpers.REAL_FILE_PATH
1714import com.simplemobiletools.commons.helpers.isPiePlus
1815import com.simplemobiletools.filemanager.pro.R
1916import com.simplemobiletools.filemanager.pro.extensions.hideSystemUI
2017import com.simplemobiletools.filemanager.pro.extensions.showSystemUI
2118import com.simplemobiletools.filemanager.pro.helpers.PdfDocumentAdapter
22- import es.voghdev.pdfviewpager.library.adapter.PDFPagerAdapter
23- import es.voghdev.pdfviewpager.library.adapter.PdfErrorHandler
2419import kotlinx.android.synthetic.main.activity_pdf_viewer.*
2520
2621class PDFViewerActivity : SimpleActivity () {
@@ -59,6 +54,7 @@ class PDFViewerActivity : SimpleActivity() {
5954 }
6055
6156 private fun setupMenu () {
57+ (pdf_viewer_appbar.layoutParams as RelativeLayout .LayoutParams ).topMargin = statusBarHeight
6258 pdf_viewer_toolbar.menu.apply {
6359 findItem(R .id.menu_print).isVisible = realFilePath.isNotEmpty()
6460 findItem(R .id.menu_print).setOnMenuItemClickListener {
@@ -71,30 +67,21 @@ class PDFViewerActivity : SimpleActivity() {
7167 finish()
7268 }
7369
74- setupViewOffsets()
75- val primaryColor = getProperPrimaryColor()
76- page_counter.background?.applyColorFilter(primaryColor)
77- page_counter.setTextColor(primaryColor.getContrastColor())
70+ if (! portrait && navigationBarOnSide && navigationBarWidth > 0 ) {
71+ pdf_viewer_appbar.setPadding(0 , 0 , navigationBarWidth, 0 )
72+ } else {
73+ pdf_viewer_appbar.setPadding(0 , 0 , 0 , 0 )
74+ }
7875 }
7976
8077 override fun onConfigurationChanged (newConfig : Configuration ) {
8178 super .onConfigurationChanged(newConfig)
82- setupViewOffsets()
83- }
84-
85- private fun setupViewOffsets () {
86- val pageCounterMargin = resources.getDimension(R .dimen.normal_margin).toInt()
87- (pdf_viewer_appbar.layoutParams as ConstraintLayout .LayoutParams ).topMargin = statusBarHeight
79+ (pdf_viewer_appbar.layoutParams as RelativeLayout .LayoutParams ).topMargin = statusBarHeight
8880 if (! portrait && navigationBarOnSide && navigationBarWidth > 0 ) {
8981 pdf_viewer_appbar.setPadding(0 , 0 , navigationBarWidth, 0 )
9082 } else {
9183 pdf_viewer_appbar.setPadding(0 , 0 , 0 , 0 )
9284 }
93-
94- (page_counter.layoutParams as ConstraintLayout .LayoutParams ).apply {
95- rightMargin = navigationBarWidth + pageCounterMargin
96- bottomMargin = navigationBarHeight + pageCounterMargin
97- }
9885 }
9986
10087 private fun checkIntent () {
@@ -104,30 +91,17 @@ class PDFViewerActivity : SimpleActivity() {
10491 return
10592 }
10693
107- val clickListener = View .OnClickListener {
108- toggleFullScreen()
109- }
110-
111- val errorHandler = PdfErrorHandler { throwable -> showErrorToast(throwable.toString()) }
112-
113- pdf_viewer.setPageTransformer(MarginPageTransformer (resources.getDimension(R .dimen.activity_margin).toInt()))
114- pdf_viewer.orientation = ViewPager2 .ORIENTATION_VERTICAL
115- try {
116- pdf_viewer.adapter = PDFPagerAdapter (this , clickListener, errorHandler, uri.toString(), getProperBackgroundColor())
117- } catch (e: Exception ) {
118- showErrorToast(e)
119- finish()
120- return
121- }
122-
123- pdf_viewer.registerOnPageChangeCallback(object : OnPageChangeCallback () {
124- override fun onPageSelected (position : Int ) {
125- updatePageCounter(position)
94+ val primaryColor = getProperPrimaryColor()
95+ pdf_viewer.setBackgroundColor(getProperBackgroundColor())
96+ pdf_viewer.fromUri(uri)
97+ .scrollHandle(DefaultScrollHandle (this , primaryColor.getContrastColor(), primaryColor))
98+ .spacing(15 )
99+ .onTap { toggleFullScreen() }
100+ .onError {
101+ showErrorToast(it.localizedMessage?.toString() ? : getString(R .string.unknown_error_occurred))
102+ finish()
126103 }
127- })
128-
129- updatePageCounter(0 )
130- page_counter.beVisible()
104+ .load()
131105
132106 showSystemUI(true )
133107
@@ -137,10 +111,6 @@ class PDFViewerActivity : SimpleActivity() {
137111 }
138112 }
139113
140- private fun updatePageCounter (position : Int ) {
141- page_counter.text = " ${position + 1 } / ${pdf_viewer.adapter?.itemCount} "
142- }
143-
144114 private fun printText () {
145115 val adapter = PdfDocumentAdapter (this , realFilePath)
146116
@@ -160,7 +130,6 @@ class PDFViewerActivity : SimpleActivity() {
160130 showSystemUI(true )
161131 }
162132
163- page_counter.animate().alpha(newAlpha).start()
164133 top_shadow.animate().alpha(newAlpha).start()
165134 pdf_viewer_appbar.animate().alpha(newAlpha).withStartAction {
166135 if (newAlpha == 1f ) {
0 commit comments