From 986d7d52150828afe966f3a3ea2bda83c6a535ff Mon Sep 17 00:00:00 2001
From: Naveen Singh <36371707+naveensingh@users.noreply.github.com>
Date: Fri, 4 Jul 2025 20:36:50 +0530
Subject: [PATCH] feat: handle `ACTION_OPEN_DOCUMENT` intent (#229)
See: https://github.com/FossifyOrg/File-Manager/issues/213
---
app/src/main/AndroidManifest.xml | 8 ++++++++
.../org/fossify/filemanager/activities/MainActivity.kt | 5 ++++-
.../org/fossify/filemanager/adapters/ViewPagerAdapter.kt | 4 +++-
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2684edd7..efb8ccd6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -60,6 +60,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/kotlin/org/fossify/filemanager/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/filemanager/activities/MainActivity.kt
index fac7ac05..960444ed 100644
--- a/app/src/main/kotlin/org/fossify/filemanager/activities/MainActivity.kt
+++ b/app/src/main/kotlin/org/fossify/filemanager/activities/MainActivity.kt
@@ -411,7 +411,10 @@ class MainActivity : SimpleActivity() {
private fun setupTabs() {
binding.mainTabsHolder.removeAllTabs()
val action = intent.action
- val isPickFileIntent = action == RingtoneManager.ACTION_RINGTONE_PICKER || action == Intent.ACTION_GET_CONTENT || action == Intent.ACTION_PICK
+ val isPickFileIntent = action == RingtoneManager.ACTION_RINGTONE_PICKER
+ || action == Intent.ACTION_GET_CONTENT
+ || action == Intent.ACTION_PICK
+ || action == Intent.ACTION_OPEN_DOCUMENT
val isCreateDocumentIntent = action == Intent.ACTION_CREATE_DOCUMENT
if (isPickFileIntent) {
diff --git a/app/src/main/kotlin/org/fossify/filemanager/adapters/ViewPagerAdapter.kt b/app/src/main/kotlin/org/fossify/filemanager/adapters/ViewPagerAdapter.kt
index 66ce5fa5..e7941da3 100644
--- a/app/src/main/kotlin/org/fossify/filemanager/adapters/ViewPagerAdapter.kt
+++ b/app/src/main/kotlin/org/fossify/filemanager/adapters/ViewPagerAdapter.kt
@@ -22,7 +22,9 @@ class ViewPagerAdapter(val activity: SimpleActivity, val tabsToShow: ArrayList).apply {
val isPickRingtoneIntent = activity.intent.action == RingtoneManager.ACTION_RINGTONE_PICKER
- val isGetContentIntent = activity.intent.action == Intent.ACTION_GET_CONTENT || activity.intent.action == Intent.ACTION_PICK
+ val isGetContentIntent = activity.intent.action == Intent.ACTION_GET_CONTENT
+ || activity.intent.action == Intent.ACTION_PICK
+ || activity.intent.action == Intent.ACTION_OPEN_DOCUMENT
val isCreateDocumentIntent = activity.intent.action == Intent.ACTION_CREATE_DOCUMENT
val allowPickingMultipleIntent = activity.intent.getBooleanExtra(Intent.EXTRA_ALLOW_MULTIPLE, false)
val getContentMimeType = if (isGetContentIntent) {