dhE#RXHijVUge#BEe@!6a@YiVG%i8&O;^fm>d2!8mSt#RX%y
-
-
diff --git a/app/src/main/res/drawable/baseline_last_page_24.xml b/app/src/main/res/drawable/baseline_last_page_24.xml
deleted file mode 100755
index 0efc8c6..0000000
--- a/app/src/main/res/drawable/baseline_last_page_24.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_first_page_24dp.xml b/app/src/main/res/drawable/ic_first_page_24dp.xml
new file mode 100644
index 0000000..59d6aa5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_first_page_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_insert_drive_file_24dp.xml b/app/src/main/res/drawable/ic_insert_drive_file_24dp.xml
new file mode 100644
index 0000000..d35c045
--- /dev/null
+++ b/app/src/main/res/drawable/ic_insert_drive_file_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_last_page_24dp.xml b/app/src/main/res/drawable/ic_last_page_24dp.xml
new file mode 100644
index 0000000..4807df6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_last_page_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_navigate_before_24dp.xml b/app/src/main/res/drawable/ic_navigate_before_24dp.xml
new file mode 100644
index 0000000..e233407
--- /dev/null
+++ b/app/src/main/res/drawable/ic_navigate_before_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_navigate_next_24dp.xml b/app/src/main/res/drawable/ic_navigate_next_24dp.xml
new file mode 100644
index 0000000..f7f29d6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_navigate_next_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_pageview_24dp.xml b/app/src/main/res/drawable/ic_pageview_24dp.xml
new file mode 100644
index 0000000..8a3ce2d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_pageview_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_rotate_left_24dp.xml b/app/src/main/res/drawable/ic_rotate_left_24dp.xml
new file mode 100644
index 0000000..1777343
--- /dev/null
+++ b/app/src/main/res/drawable/ic_rotate_left_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_rotate_right_24dp.xml b/app/src/main/res/drawable/ic_rotate_right_24dp.xml
new file mode 100644
index 0000000..5b80f8e
--- /dev/null
+++ b/app/src/main/res/drawable/ic_rotate_right_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_zoom_in_24dp.xml b/app/src/main/res/drawable/ic_zoom_in_24dp.xml
new file mode 100644
index 0000000..ab4ab2f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_zoom_in_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_zoom_out_24dp.xml b/app/src/main/res/drawable/ic_zoom_out_24dp.xml
new file mode 100644
index 0000000..aa7acf4
--- /dev/null
+++ b/app/src/main/res/drawable/ic_zoom_out_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/menu/pdf_viewer.xml b/app/src/main/res/menu/pdf_viewer.xml
index e1cc94d..e72fcbd 100644
--- a/app/src/main/res/menu/pdf_viewer.xml
+++ b/app/src/main/res/menu/pdf_viewer.xml
@@ -9,61 +9,61 @@
From d26851dfcfb0359c993775547b61252db4d7e121 Mon Sep 17 00:00:00 2001
From: Daniel Micay
Date: Wed, 23 Feb 2022 07:22:58 -0500
Subject: [PATCH 09/15] rename to app.grapheneos.pdfviewer
---
app/build.gradle.kts | 2 +-
app/src/main/AndroidManifest.xml | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 8c646c3..90686be 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -29,7 +29,7 @@ android {
buildToolsVersion = "32.0.0"
defaultConfig {
- applicationId = "org.grapheneos.pdfviewer"
+ applicationId = "app.grapheneos.pdfviewer"
minSdk = 26
targetSdk = 31
versionCode = 10
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5aa5354..dfeca70 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,8 @@
+
+
Date: Wed, 23 Feb 2022 19:15:28 +0000
Subject: [PATCH 10/15] Bump gradle from 7.1.1 to 7.1.2
Bumps gradle from 7.1.1 to 7.1.2.
---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
build.gradle.kts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index d12a8aa..3502229 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -4,7 +4,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath("com.android.tools.build:gradle:7.1.1")
+ classpath("com.android.tools.build:gradle:7.1.2")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10")
}
}
From 6ed3aed8ad937cf3cc3ad1b6e2989fbd28384108 Mon Sep 17 00:00:00 2001
From: smdyv <88971341+smdyv@users.noreply.github.com>
Date: Sun, 20 Feb 2022 21:21:25 +0100
Subject: [PATCH 11/15] Display content edge-to-edge
---
app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java | 3 +++
app/src/main/res/values-night/styles.xml | 1 +
app/src/main/res/values/styles.xml | 1 +
3 files changed, 5 insertions(+)
diff --git a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java
index 96d9cfe..4e049f2 100644
--- a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java
+++ b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java
@@ -28,6 +28,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.Loader;
@@ -157,6 +158,8 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
+ WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
+
// Margins for the toolbar are needed, so that content of the toolbar
// is not covered by a system button navigation bar when in landscape.
ViewCompat.setOnApplyWindowInsetsListener(binding.toolbar, (v, windowInsets) -> {
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
index 3743572..967fd72 100644
--- a/app/src/main/res/values-night/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -5,6 +5,7 @@
- #DEFFFFFF
- #212121
+ - @android:color/transparent
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index a3ed4e9..183233f 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -5,6 +5,7 @@
- #000000
- #212121
+ - @android:color/transparent
From 2571335eeb2ff142eb63c42516337fc2fd5f35fc Mon Sep 17 00:00:00 2001
From: Daniel Micay
Date: Wed, 23 Feb 2022 17:14:51 -0500
Subject: [PATCH 12/15] increment version to 11
---
app/build.gradle.kts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 90686be..1655cc5 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -32,7 +32,7 @@ android {
applicationId = "app.grapheneos.pdfviewer"
minSdk = 26
targetSdk = 31
- versionCode = 10
+ versionCode = 11
versionName = versionCode.toString()
resourceConfigurations.add("en")
}
From e6add76a9fff3d956e2eb5a8feafe1d45188b1d9 Mon Sep 17 00:00:00 2001
From: smdyv <88971341+smdyv@users.noreply.github.com>
Date: Fri, 25 Feb 2022 13:52:20 +0100
Subject: [PATCH 13/15] Handle out-of-date WebView
Disable the open document menu item and show the user a relevant view.
---
.../org/grapheneos/pdfviewer/PdfViewer.java | 25 +++++++
.../res/drawable/ic_error_outline_24dp.xml | 9 +++
app/src/main/res/layout/pdfviewer.xml | 65 +++++++++++++++++++
app/src/main/res/values/strings.xml | 3 +
4 files changed, 102 insertions(+)
create mode 100644 app/src/main/res/drawable/ic_error_outline_24dp.xml
diff --git a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java
index 4e049f2..2e39a9b 100644
--- a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java
+++ b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java
@@ -3,6 +3,7 @@ package org.grapheneos.pdfviewer;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
+import android.content.pm.PackageInfo;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.net.Uri;
@@ -53,6 +54,7 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader
private static final String STATE_ZOOM_RATIO = "zoomRatio";
private static final String STATE_DOCUMENT_ORIENTATION_DEGREES = "documentOrientationDegrees";
private static final String KEY_PROPERTIES = "properties";
+ private static final int MIN_WEBVIEW_RELEASE = 89;
private static final String CONTENT_SECURITY_POLICY =
"default-src 'none'; " +
@@ -324,6 +326,28 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader
}
}
+ @Override
+ protected void onResume() {
+ super.onResume();
+
+ // The user could have left the activity to update the WebView
+ invalidateOptionsMenu();
+ if (getWebViewRelease() >= MIN_WEBVIEW_RELEASE) {
+ binding.webviewOutOfDateLayout.setVisibility(View.GONE);
+ binding.webview.setVisibility(View.VISIBLE);
+ } else {
+ binding.webview.setVisibility(View.GONE);
+ binding.webviewOutOfDateMessage.setText(getString(R.string.webview_out_of_date_message, getWebViewRelease(), MIN_WEBVIEW_RELEASE));
+ binding.webviewOutOfDateLayout.setVisibility(View.VISIBLE);
+ }
+ }
+
+ private int getWebViewRelease() {
+ PackageInfo webViewPackage = WebView.getCurrentWebViewPackage();
+ String webViewVersionName = webViewPackage.versionName;
+ return Integer.parseInt(webViewVersionName.substring(0, webViewVersionName.indexOf(".")));
+ }
+
@NonNull
@Override
public Loader> onCreateLoader(int id, Bundle args) {
@@ -500,6 +524,7 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader
mDocumentState = STATE_END;
}
+ enableDisableMenuItem(menu.findItem(R.id.action_open), getWebViewRelease() >= MIN_WEBVIEW_RELEASE);
enableDisableMenuItem(menu.findItem(R.id.action_zoom_in), mZoomRatio != MAX_ZOOM_RATIO);
enableDisableMenuItem(menu.findItem(R.id.action_zoom_out), mZoomRatio != MIN_ZOOM_RATIO);
enableDisableMenuItem(menu.findItem(R.id.action_next), mPage < mNumPages);
diff --git a/app/src/main/res/drawable/ic_error_outline_24dp.xml b/app/src/main/res/drawable/ic_error_outline_24dp.xml
new file mode 100644
index 0000000..9b8c530
--- /dev/null
+++ b/app/src/main/res/drawable/ic_error_outline_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/pdfviewer.xml b/app/src/main/res/layout/pdfviewer.xml
index 7b1fcd7..8c01e23 100644
--- a/app/src/main/res/layout/pdfviewer.xml
+++ b/app/src/main/res/layout/pdfviewer.xml
@@ -25,4 +25,69 @@
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 345df9b..89224f3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -20,4 +20,7 @@
Cannot open file with invalid MIME type
Cannot open legacy file paths from insecure apps
Received I/O error trying to open content
+
+ WebView out-of-date
+ Your current WebView version is %d. The WebView should be at least version %d for the PDF Viewer to work.
From 74a9f9983d449b85ff8b21f7d90fceef8de5b313 Mon Sep 17 00:00:00 2001
From: Daniel Micay
Date: Fri, 25 Feb 2022 11:20:16 -0500
Subject: [PATCH 14/15] increment version to 12
---
app/build.gradle.kts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 1655cc5..3937a53 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -32,7 +32,7 @@ android {
applicationId = "app.grapheneos.pdfviewer"
minSdk = 26
targetSdk = 31
- versionCode = 11
+ versionCode = 12
versionName = versionCode.toString()
resourceConfigurations.add("en")
}
From e68880b45d4cab0cb98982cb09bf7b21e4c623a4 Mon Sep 17 00:00:00 2001
From: Daniel Micay
Date: Fri, 25 Feb 2022 12:13:36 -0500
Subject: [PATCH 15/15] add separate release target for Play Store
---
app/build.gradle.kts | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 3937a53..94fc41c 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -22,6 +22,13 @@ android {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
}
+
+ create("play") {
+ storeFile = rootProject.file(keystoreProperties["storeFile"]!!)
+ storePassword = keystoreProperties["storePassword"] as String
+ keyAlias = keystoreProperties["uploadKeyAlias"] as String
+ keyPassword = keystoreProperties["uploadKeyPassword"] as String
+ }
}
}
@@ -51,6 +58,14 @@ android {
}
}
+ create("play") {
+ initWith(getByName("release"))
+ applicationIdSuffix = ".play"
+ if (useKeystoreProperties) {
+ signingConfig = signingConfigs.getByName("play")
+ }
+ }
+
buildFeatures {
viewBinding = true
}