From ddc450cbcba62eb78907397333b886a2a08c3448 Mon Sep 17 00:00:00 2001 From: name Date: Sat, 16 Nov 2024 00:30:47 -0800 Subject: [PATCH 1/2] try loading file anyways if MIME type is null, for app compatibility Some apps somehow end up giving us a pdf with a null MIME type. This makes us compatible with them instead of showing an invalid MIME type error. The error is still shown for MIME types that are not "application/pdf" and not null. --- app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java index 49dd35a8..ff558598 100644 --- a/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java +++ b/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java @@ -393,7 +393,8 @@ public void onZoomEnd() { final Intent intent = getIntent(); if (Intent.ACTION_VIEW.equals(intent.getAction())) { - if (!"application/pdf".equals(intent.getType())) { + final String type = intent.getType(); + if (!"application/pdf".equals(type) && (type != null)) { snackbar.setText(R.string.invalid_mime_type).show(); return; } From de576fb22500fa9c76943ca713c6022926aa5712 Mon Sep 17 00:00:00 2001 From: name Date: Sat, 16 Nov 2024 04:03:55 -0800 Subject: [PATCH 2/2] log when ACTION_VIEW intent MIME type is null --- app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java index ff558598..c3f9567d 100644 --- a/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java +++ b/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java @@ -398,6 +398,9 @@ public void onZoomEnd() { snackbar.setText(R.string.invalid_mime_type).show(); return; } + if (type == null) { + Log.w(TAG, "MIME type is null, but we'll try to load it anyway"); + } mUri = intent.getData(); mPage = 1; }