├── .github ├── dependabot.yml └── workflows │ ├── build.yml │ └── validate-gradle-wrapper.yml ├── .gitignore ├── LICENSE ├── PDFJS_LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── lint.xml ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── feature_graphic.png │ ├── ic_launcher-playstore.png │ ├── java │ └── app │ │ └── grapheneos │ │ └── pdfviewer │ │ ├── App.kt │ │ ├── GestureHelper.java │ │ ├── KtUtils.kt │ │ ├── PdfViewer.java │ │ ├── Utils.java │ │ ├── fragment │ │ ├── DocumentPropertiesFragment.kt │ │ ├── JumpToPageFragment.kt │ │ └── PasswordPromptFragment.kt │ │ ├── ktx │ │ └── View.kt │ │ ├── loader │ │ ├── DocumentPropertiesAsyncTaskLoader.java │ │ ├── DocumentPropertiesLoader.kt │ │ ├── DocumentProperty.kt │ │ └── PDFJsPropertiesToDocumentPropertyConverter.kt │ │ ├── outline │ │ ├── OutlineFragment.kt │ │ ├── OutlineListFragment.kt │ │ ├── OutlineNode.kt │ │ └── OutlineRecyclerViewAdapter.kt │ │ └── viewModel │ │ ├── OutlineViewModel.kt │ │ └── PdfViewModel.kt │ └── res │ ├── anim │ ├── slide_back_in.xml │ ├── slide_back_out.xml │ ├── slide_next_in.xml │ └── slide_next_out.xml │ ├── drawable │ ├── ic_error_outline_24dp.xml │ ├── ic_first_page_24dp.xml │ ├── ic_insert_drive_file_24dp.xml │ ├── ic_last_page_24dp.xml │ ├── ic_launcher_foreground.xml │ ├── ic_navigate_before_24dp.xml │ ├── ic_navigate_next_24dp.xml │ ├── ic_outline_bulletlist_24dp.xml │ ├── ic_pageview_24dp.xml │ ├── ic_rotate_left_24dp.xml │ ├── ic_rotate_right_24dp.xml │ ├── ic_save_24dp.xml │ └── ic_share_24dp.xml │ ├── layout │ ├── outline_fragment.xml │ ├── outline_list_fragment.xml │ ├── outline_list_item.xml │ ├── password_dialog_fragment.xml │ └── pdfviewer.xml │ ├── menu │ ├── outlines.xml │ ├── pdf_viewer.xml │ └── pdf_viewer_debug.xml │ ├── mipmap-anydpi │ └── ic_launcher.xml │ ├── raw │ └── keep.xml │ ├── values-night │ └── styles.xml │ └── values │ ├── ic_launcher_background.xml │ ├── strings.xml │ └── styles.xml ├── eslint.config.js ├── gradle.properties ├── gradle ├── verification-metadata.xml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── package.json ├── process_static.js ├── settings.gradle.kts └── viewer ├── css ├── pdf_viewer.css └── text_layer.css ├── index.html ├── js ├── index.js └── worker.js └── main.css /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/validate-gradle-wrapper.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/.github/workflows/validate-gradle-wrapper.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/LICENSE -------------------------------------------------------------------------------- /PDFJS_LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/PDFJS_LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/build.gradle.kts -------------------------------------------------------------------------------- /app/lint.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/lint.xml -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/feature_graphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/feature_graphic.png -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/App.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/App.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/GestureHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/GestureHelper.java -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/KtUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/KtUtils.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/Utils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/Utils.java -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/fragment/DocumentPropertiesFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/fragment/DocumentPropertiesFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/fragment/JumpToPageFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/fragment/JumpToPageFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/fragment/PasswordPromptFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/fragment/PasswordPromptFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/ktx/View.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/ktx/View.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.java -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesLoader.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesLoader.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentProperty.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentProperty.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/loader/PDFJsPropertiesToDocumentPropertyConverter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/loader/PDFJsPropertiesToDocumentPropertyConverter.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineListFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineListFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineNode.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineNode.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineRecyclerViewAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/outline/OutlineRecyclerViewAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/viewModel/OutlineViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/viewModel/OutlineViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/app/grapheneos/pdfviewer/viewModel/PdfViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/java/app/grapheneos/pdfviewer/viewModel/PdfViewModel.kt -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_back_in.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/anim/slide_back_in.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_back_out.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/anim/slide_back_out.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_next_in.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/anim/slide_next_in.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_next_out.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/anim/slide_next_out.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_error_outline_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_error_outline_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_first_page_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_first_page_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_insert_drive_file_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_insert_drive_file_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_last_page_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_last_page_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_navigate_before_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_navigate_before_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_navigate_next_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_navigate_next_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_outline_bulletlist_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_outline_bulletlist_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_pageview_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_pageview_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_rotate_left_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_rotate_left_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_rotate_right_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_rotate_right_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_save_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_save_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_share_24dp.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/drawable/ic_share_24dp.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/outline_fragment.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/layout/outline_fragment.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/outline_list_fragment.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/layout/outline_list_fragment.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/outline_list_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/layout/outline_list_item.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/password_dialog_fragment.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/layout/password_dialog_fragment.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/pdfviewer.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/layout/pdfviewer.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/outlines.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/menu/outlines.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/pdf_viewer.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/menu/pdf_viewer.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/pdf_viewer_debug.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/menu/pdf_viewer_debug.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/mipmap-anydpi/ic_launcher.xml -------------------------------------------------------------------------------- /app/src/main/res/raw/keep.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/raw/keep.xml -------------------------------------------------------------------------------- /app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/values-night/styles.xml -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/values/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/eslint.config.js -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/verification-metadata.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/gradle/verification-metadata.xml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/gradlew.bat -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/package.json -------------------------------------------------------------------------------- /process_static.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/process_static.js -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/settings.gradle.kts -------------------------------------------------------------------------------- /viewer/css/pdf_viewer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/viewer/css/pdf_viewer.css -------------------------------------------------------------------------------- /viewer/css/text_layer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/viewer/css/text_layer.css -------------------------------------------------------------------------------- /viewer/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/viewer/index.html -------------------------------------------------------------------------------- /viewer/js/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/viewer/js/index.js -------------------------------------------------------------------------------- /viewer/js/worker.js: -------------------------------------------------------------------------------- 1 | import "pdfjs-dist/build/pdf.worker.mjs"; 2 | -------------------------------------------------------------------------------- /viewer/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GrapheneOS/PdfViewer/HEAD/viewer/main.css --------------------------------------------------------------------------------