From 089f352818259d9fafe15dce240fdb4f250089e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Tue, 4 Jul 2023 14:17:52 +0200 Subject: [PATCH 1/4] Revert "adding a page counter at the pdf viewer" This reverts commit db7d806c6fd6cb56133ab8395b10f2fd7f15958f. --- .../pro/activities/PDFViewerActivity.kt | 43 +++++-------------- .../main/res/layout/activity_pdf_viewer.xml | 25 +++-------- 2 files changed, 17 insertions(+), 51 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt index 8a812c85..31fbbb11 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt @@ -8,10 +8,9 @@ import android.print.PrintAttributes import android.print.PrintManager import android.view.View import android.view.WindowManager -import androidx.constraintlayout.widget.ConstraintLayout import androidx.viewpager2.widget.MarginPageTransformer +import android.widget.RelativeLayout import androidx.viewpager2.widget.ViewPager2 -import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.REAL_FILE_PATH import com.simplemobiletools.commons.helpers.isPiePlus @@ -59,6 +58,7 @@ class PDFViewerActivity : SimpleActivity() { } private fun setupMenu() { + (pdf_viewer_appbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight pdf_viewer_toolbar.menu.apply { findItem(R.id.menu_print).isVisible = realFilePath.isNotEmpty() findItem(R.id.menu_print).setOnMenuItemClickListener { @@ -71,29 +71,20 @@ class PDFViewerActivity : SimpleActivity() { finish() } - setupViewOffsets() - val primaryColor = getProperPrimaryColor() - page_counter.background?.applyColorFilter(primaryColor) - page_counter.setTextColor(primaryColor.getContrastColor()) - } - - override fun onConfigurationChanged(newConfig: Configuration) { - super.onConfigurationChanged(newConfig) - setupViewOffsets() - } - - private fun setupViewOffsets() { - val pageCounterMargin = resources.getDimension(R.dimen.normal_margin).toInt() - (pdf_viewer_appbar.layoutParams as ConstraintLayout.LayoutParams).topMargin = statusBarHeight if (!portrait && navigationBarOnSide && navigationBarWidth > 0) { pdf_viewer_appbar.setPadding(0, 0, navigationBarWidth, 0) } else { pdf_viewer_appbar.setPadding(0, 0, 0, 0) } + } - (page_counter.layoutParams as ConstraintLayout.LayoutParams).apply { - rightMargin = navigationBarWidth + pageCounterMargin - bottomMargin = navigationBarHeight + pageCounterMargin + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + (pdf_viewer_appbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight + if (!portrait && navigationBarOnSide && navigationBarWidth > 0) { + pdf_viewer_appbar.setPadding(0, 0, navigationBarWidth, 0) + } else { + pdf_viewer_appbar.setPadding(0, 0, 0, 0) } } @@ -120,15 +111,6 @@ class PDFViewerActivity : SimpleActivity() { return } - pdf_viewer.registerOnPageChangeCallback(object : OnPageChangeCallback() { - override fun onPageSelected(position: Int) { - updatePageCounter(position) - } - }) - - updatePageCounter(0) - page_counter.beVisible() - showSystemUI(true) val filename = getFilenameFromUri(uri) @@ -137,10 +119,6 @@ class PDFViewerActivity : SimpleActivity() { } } - private fun updatePageCounter(position: Int) { - page_counter.text = "${position + 1} / ${pdf_viewer.adapter?.itemCount}" - } - private fun printText() { val adapter = PdfDocumentAdapter(this, realFilePath) @@ -160,7 +138,6 @@ class PDFViewerActivity : SimpleActivity() { showSystemUI(true) } - page_counter.animate().alpha(newAlpha).start() top_shadow.animate().alpha(newAlpha).start() pdf_viewer_appbar.animate().alpha(newAlpha).withStartAction { if (newAlpha == 1f) { diff --git a/app/src/main/res/layout/activity_pdf_viewer.xml b/app/src/main/res/layout/activity_pdf_viewer.xml index 11109b08..93244f33 100644 --- a/app/src/main/res/layout/activity_pdf_viewer.xml +++ b/app/src/main/res/layout/activity_pdf_viewer.xml @@ -1,10 +1,9 @@ - - - + android:contentDescription="@null" /> + app:elevation="0dp"> - + From d1c68d55bba1abc81d9c1918e3a58c2a2c8e3f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Tue, 4 Jul 2023 14:24:00 +0200 Subject: [PATCH 2/4] Revert "fix #619, use a different pdf viewer" This reverts commit ab47bcadbe2807b3aec7c11ce11bb989c58ba35c. --- app/build.gradle | 2 +- .../pro/activities/MainActivity.kt | 1 + .../pro/activities/PDFViewerActivity.kt | 32 +++++++------------ .../main/res/layout/activity_pdf_viewer.xml | 2 +- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 20bdeee3..c4ff8f1b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,7 +65,7 @@ android { dependencies { implementation 'com.github.SimpleMobileTools:Simple-Commons:30e6321592' - implementation 'com.github.tibbi:PdfViewPager:d2af24208d' + implementation 'com.github.esensar:AndroidPdfViewer:1b33733a2b' implementation 'com.github.Stericson:RootTools:df729dcb13' implementation 'com.github.Stericson:RootShell:1.6' implementation 'com.alexvasilkov:gesture-views:2.5.2' diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt index 590885db..e539583a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt @@ -632,6 +632,7 @@ class MainActivity : SimpleActivity() { } private fun launchAbout() { + // TODO: Add PDFViewer license val licenses = LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT or LICENSE_GESTURE_VIEWS or LICENSE_PDF_VIEW_PAGER or LICENSE_AUTOFITTEXTVIEW val faqItems = arrayListOf( diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt index 31fbbb11..8dc4a942 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/PDFViewerActivity.kt @@ -6,11 +6,9 @@ import android.graphics.Color import android.os.Bundle import android.print.PrintAttributes import android.print.PrintManager -import android.view.View import android.view.WindowManager -import androidx.viewpager2.widget.MarginPageTransformer import android.widget.RelativeLayout -import androidx.viewpager2.widget.ViewPager2 +import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.REAL_FILE_PATH import com.simplemobiletools.commons.helpers.isPiePlus @@ -18,8 +16,6 @@ import com.simplemobiletools.filemanager.pro.R import com.simplemobiletools.filemanager.pro.extensions.hideSystemUI import com.simplemobiletools.filemanager.pro.extensions.showSystemUI import com.simplemobiletools.filemanager.pro.helpers.PdfDocumentAdapter -import es.voghdev.pdfviewpager.library.adapter.PDFPagerAdapter -import es.voghdev.pdfviewpager.library.adapter.PdfErrorHandler import kotlinx.android.synthetic.main.activity_pdf_viewer.* class PDFViewerActivity : SimpleActivity() { @@ -95,21 +91,17 @@ class PDFViewerActivity : SimpleActivity() { return } - val clickListener = View.OnClickListener { - toggleFullScreen() - } - - val errorHandler = PdfErrorHandler { throwable -> showErrorToast(throwable.toString()) } - - pdf_viewer.setPageTransformer(MarginPageTransformer(resources.getDimension(R.dimen.activity_margin).toInt())) - pdf_viewer.orientation = ViewPager2.ORIENTATION_VERTICAL - try { - pdf_viewer.adapter = PDFPagerAdapter(this, clickListener, errorHandler, uri.toString(), getProperBackgroundColor()) - } catch (e: Exception) { - showErrorToast(e) - finish() - return - } + val primaryColor = getProperPrimaryColor() + pdf_viewer.setBackgroundColor(getProperBackgroundColor()) + pdf_viewer.fromUri(uri) + .scrollHandle(DefaultScrollHandle(this, primaryColor.getContrastColor(), primaryColor)) + .spacing(15) + .onTap { toggleFullScreen() } + .onError { + showErrorToast(it.localizedMessage?.toString() ?: getString(R.string.unknown_error_occurred)) + finish() + } + .load() showSystemUI(true) diff --git a/app/src/main/res/layout/activity_pdf_viewer.xml b/app/src/main/res/layout/activity_pdf_viewer.xml index 93244f33..ba3412c6 100644 --- a/app/src/main/res/layout/activity_pdf_viewer.xml +++ b/app/src/main/res/layout/activity_pdf_viewer.xml @@ -6,7 +6,7 @@ android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior"> - From a7de356f44ed15897303cf9fc5b23439c33fb68c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Wed, 5 Jul 2023 16:25:48 +0200 Subject: [PATCH 3/4] Update AndroidPdfViewer ref --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index c4ff8f1b..079b32ab 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,7 +65,7 @@ android { dependencies { implementation 'com.github.SimpleMobileTools:Simple-Commons:30e6321592' - implementation 'com.github.esensar:AndroidPdfViewer:1b33733a2b' + implementation 'com.github.tibbi:AndroidPdfViewer:e6a533125b' implementation 'com.github.Stericson:RootTools:df729dcb13' implementation 'com.github.Stericson:RootShell:1.6' implementation 'com.alexvasilkov:gesture-views:2.5.2' From a83ebe84f84498d94b45c2b618bbe3f922f60525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Thu, 6 Jul 2023 08:35:11 +0200 Subject: [PATCH 4/4] Update liceses to include AndroidPdfViewer license --- app/build.gradle | 2 +- .../filemanager/pro/activities/MainActivity.kt | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 079b32ab..6bf0bc9d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:30e6321592' + implementation 'com.github.SimpleMobileTools:Simple-Commons:84c71fdcc1' implementation 'com.github.tibbi:AndroidPdfViewer:e6a533125b' implementation 'com.github.Stericson:RootTools:df729dcb13' implementation 'com.github.Stericson:RootShell:1.6' diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt index e539583a..a179ad57 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt @@ -632,8 +632,7 @@ class MainActivity : SimpleActivity() { } private fun launchAbout() { - // TODO: Add PDFViewer license - val licenses = LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT or LICENSE_GESTURE_VIEWS or LICENSE_PDF_VIEW_PAGER or LICENSE_AUTOFITTEXTVIEW + val licenses = LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT or LICENSE_GESTURE_VIEWS or LICENSE_PDF_VIEWER or LICENSE_AUTOFITTEXTVIEW val faqItems = arrayListOf( FAQItem(R.string.faq_3_title_commons, R.string.faq_3_text_commons),