From bde31f2d013d8f262a6e02a31078d79b571efa5c Mon Sep 17 00:00:00 2001 From: Raymond Lai Date: Sun, 14 Nov 2021 18:34:30 +0800 Subject: [PATCH 1/3] Explicit MIME type declaration on querying available packages for opening files As noted by Android Studio on the use of android.permission.QUERY_ALL_PACKAGES permission, use with explicit action and MIME type instead. This also reduces possibility of unrelated apps from popping up in the list of available apps. Additionally, as noted in https://stackoverflow.com/a/55071463, change SQLITE MIME type to application/vnd.sqlite3. --- app/src/main/AndroidManifest.xml | 93 ++++++++++++++++++- .../amaze/filemanager/ui/icons/MimeTypes.java | 6 +- 2 files changed, 96 insertions(+), 3 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 819e15fb48..e24e856787 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -37,7 +37,97 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/amaze/filemanager/ui/icons/MimeTypes.java b/app/src/main/java/com/amaze/filemanager/ui/icons/MimeTypes.java index 7eefbc1cf3..a2cc2dd506 100644 --- a/app/src/main/java/com/amaze/filemanager/ui/icons/MimeTypes.java +++ b/app/src/main/java/com/amaze/filemanager/ui/icons/MimeTypes.java @@ -80,8 +80,10 @@ public final class MimeTypes { MIME_TYPES.put("ksh", "text/plain"); MIME_TYPES.put("sh", "application/x-sh"); - MIME_TYPES.put("db", "application/octet-stream"); - MIME_TYPES.put("db3", "application/octet-stream"); + MIME_TYPES.put("db", "application/vnd.sqlite3"); + MIME_TYPES.put("db3", "application/vnd.sqlite3"); + MIME_TYPES.put("sqlite", "application/vnd.sqlite3"); + MIME_TYPES.put("sqlite3", "application/vnd.sqlite3"); MIME_TYPES.put("otf", "application/x-font-otf"); MIME_TYPES.put("ttf", "application/x-font-ttf"); From 68a23d07dc8af89579dddd5d6b5a395ed3c0161c Mon Sep 17 00:00:00 2001 From: Raymond Lai Date: Tue, 16 Nov 2021 22:48:28 +0800 Subject: [PATCH 2/3] Some more little fixes - AndroidManifest.xml, add android:exported attribute to as recommended by Android Studio - Add back missing rar extension to FileUtils.COMPRESSED_FILE_EXTENSIONS which prevented RAR files be opened by Amaze for viewing --- app/src/main/AndroidManifest.xml | 13 +++++++++---- .../filemanager/filesystem/files/FileUtils.java | 4 +++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e24e856787..ec1383f3f0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -150,7 +150,8 @@ android:launchMode="singleInstance" android:name=".ui.activities.MainActivity" android:theme="@style/appCompatBlack" - android:configChanges="uiMode" > + android:configChanges="uiMode" + android:exported="true"> @@ -217,7 +218,8 @@ android:configChanges="orientation|screenSize|uiMode" android:label="@string/setting" android:name=".ui.activities.PreferencesActivity" - android:theme="@style/appCompatBlack"> + android:theme="@style/appCompatBlack" + android:exported="false"> @@ -228,7 +230,8 @@ android:label="@string/textreader" android:name=".ui.activities.texteditor.TextEditorActivity" android:configChanges="uiMode" - android:theme="@style/appCompatBlack"> + android:theme="@style/appCompatBlack" + android:exported="true"> @@ -242,6 +245,7 @@ + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" + android:exported="false"> diff --git a/app/src/main/java/com/amaze/filemanager/filesystem/files/FileUtils.java b/app/src/main/java/com/amaze/filemanager/filesystem/files/FileUtils.java index 9a929f36d1..32dbdc7343 100644 --- a/app/src/main/java/com/amaze/filemanager/filesystem/files/FileUtils.java +++ b/app/src/main/java/com/amaze/filemanager/filesystem/files/FileUtils.java @@ -96,7 +96,9 @@ public class FileUtils { private static final String TAG = FileUtils.class.getSimpleName(); private static final String[] COMPRESSED_FILE_EXTENSIONS = - new String[] {"zip", "cab", "bz2", "ace", "bz", "gz", "7z", "jar", "apk", "xz", "lzma", "Z"}; + new String[] { + "zip", "cab", "bz2", "ace", "bz", "gz", "7z", "jar", "apk", "xz", "lzma", "Z", "rar" + }; public static final String FILE_PROVIDER_PREFIX = "storage_root"; public static final String NOMEDIA_FILE = ".nomedia"; From fac32359338468b964a6bcb0a9a7dc296927d67d Mon Sep 17 00:00:00 2001 From: Raymond Lai Date: Thu, 18 Nov 2021 23:13:35 +0800 Subject: [PATCH 3/3] Changes per PR feedback Use one single wildcard MIME type for querying --- app/src/main/AndroidManifest.xml | 86 +------------------------------- 1 file changed, 1 insertion(+), 85 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ec1383f3f0..bfb004125e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -41,91 +41,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +