feat: handle ACTION_OPEN_DOCUMENT intent (#229)

See: https://github.com/FossifyOrg/File-Manager/issues/213
This commit is contained in:
Naveen Singh
2025-07-04 20:36:50 +05:30
committed by GitHub
parent 769c0dbb6a
commit 986d7d5215
3 changed files with 15 additions and 2 deletions

View File

@@ -60,6 +60,14 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.OPEN_DOCUMENT" />
<data android:mimeType="*/*" />
<category android:name="android.intent.category.OPENABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.RINGTONE_PICKER" />
<category android:name="android.intent.category.DEFAULT" />

View File

@@ -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) {

View File

@@ -22,7 +22,9 @@ class ViewPagerAdapter(val activity: SimpleActivity, val tabsToShow: ArrayList<I
(view as MyViewPagerFragment<*>).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) {