From c743c0d6a7cae1d143d04518c2bec8c7010a1b28 Mon Sep 17 00:00:00 2001 From: smdyv <88971341+smdyv@users.noreply.github.com> Date: Mon, 7 Feb 2022 17:42:47 +0100 Subject: [PATCH] Create layout for the PDF viewer activity Updating insets is no longer necessary because the layout reserves the space for the top app bar and frees it up in full-screen mode so the WebView can fill the entire screen. --- app/src/main/assets/viewer.css | 7 +---- app/src/main/assets/viewer.html | 1 - app/src/main/assets/viewer.js | 10 ------- .../org/grapheneos/pdfviewer/PdfViewer.java | 21 ++++---------- app/src/main/res/layout/pdfviewer.xml | 29 +++++++++++++++++++ app/src/main/res/layout/webview.xml | 5 ---- app/src/main/res/values-night/styles.xml | 8 +++-- app/src/main/res/values/styles.xml | 10 +++++-- 8 files changed, 50 insertions(+), 41 deletions(-) create mode 100644 app/src/main/res/layout/pdfviewer.xml delete mode 100644 app/src/main/res/layout/webview.xml diff --git a/app/src/main/assets/viewer.css b/app/src/main/assets/viewer.css index 7befbc5..ac479ba 100644 --- a/app/src/main/assets/viewer.css +++ b/app/src/main/assets/viewer.css @@ -1,13 +1,8 @@ -body, canvas, #padding { +body, canvas { padding: 0; margin: 0; } -#padding { - min-width: 100%; - background: black; -} - .textLayer { position: absolute; text-align: initial; diff --git a/app/src/main/assets/viewer.html b/app/src/main/assets/viewer.html index bea4678..c4f1125 100644 --- a/app/src/main/assets/viewer.html +++ b/app/src/main/assets/viewer.html @@ -7,7 +7,6 @@
- diff --git a/app/src/main/assets/viewer.js b/app/src/main/assets/viewer.js index 911b4c2..c5e4ef2 100644 --- a/app/src/main/assets/viewer.js +++ b/app/src/main/assets/viewer.js @@ -2,7 +2,6 @@ pdfjsLib.GlobalWorkerOptions.workerSrc = "/pdf.worker.js"; -const padding = document.getElementById("padding"); let pdfDoc = null; let pageRendering = false; let renderPending = false; @@ -56,7 +55,6 @@ function display(newCanvas, zoom) { canvas.width = newCanvas.width; canvas.style.height = newCanvas.style.height; canvas.style.width = newCanvas.style.width; - padding.style.width = canvas.style.width; canvas.getContext("2d", { alpha: false }).drawImage(newCanvas, 0, 0); if (!zoom) { scrollTo(0, 0); @@ -200,14 +198,6 @@ function isTextSelected() { return window.getSelection().toString() !== ""; } -function updateInset() { - const windowInsetTop = channel.getWindowInsetTop() / window.devicePixelRatio + "px"; - padding.style.paddingTop = windowInsetTop; - textLayerDiv.style.top = windowInsetTop; -} - -updateInset(); - pdfjsLib.getDocument("https://localhost/placeholder.pdf").promise.then(function(newDoc) { pdfDoc = newDoc; channel.setNumPages(pdfDoc.numPages); diff --git a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java index 3dd440e..4a1c874 100644 --- a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java +++ b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java @@ -30,7 +30,7 @@ import androidx.loader.content.Loader; import com.google.android.material.snackbar.Snackbar; -import org.grapheneos.pdfviewer.databinding.WebviewBinding; +import org.grapheneos.pdfviewer.databinding.PdfviewerBinding; import org.grapheneos.pdfviewer.fragment.DocumentPropertiesFragment; import org.grapheneos.pdfviewer.fragment.JumpToPageFragment; import org.grapheneos.pdfviewer.loader.DocumentPropertiesLoader; @@ -103,21 +103,15 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader private float mZoomRatio = 1f; private int mDocumentOrientationDegrees; private int mDocumentState; - private int windowInsetTop; private List