Skip to content

Commit 39eb160

Browse files
committed
properly handle third party intents in the Recents tab
1 parent 9143e07 commit 39eb160

File tree

3 files changed

+24
-19
lines changed

3 files changed

+24
-19
lines changed

app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/ItemsFragment.kt

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.simplemobiletools.filemanager.pro.adapters.ItemsAdapter
1919
import com.simplemobiletools.filemanager.pro.dialogs.CreateNewItemDialog
2020
import com.simplemobiletools.filemanager.pro.extensions.config
2121
import com.simplemobiletools.filemanager.pro.extensions.isPathOnRoot
22-
import com.simplemobiletools.filemanager.pro.extensions.tryOpenPathIntent
2322
import com.simplemobiletools.filemanager.pro.helpers.MAX_COLUMN_COUNT
2423
import com.simplemobiletools.filemanager.pro.helpers.RootHelpers
2524
import com.simplemobiletools.filemanager.pro.interfaces.ItemOperationsListener
@@ -30,7 +29,6 @@ import java.util.*
3029
import kotlin.collections.ArrayList
3130

3231
class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), ItemOperationsListener, Breadcrumbs.BreadcrumbsListener {
33-
private var activity: SimpleActivity? = null
3432
private var showHidden = false
3533
private var skipItemUpdating = false
3634
private var isSearchOpen = false
@@ -248,18 +246,7 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
248246
if (item.isDirectory) {
249247
openDirectory(item.path)
250248
} else {
251-
val path = item.path
252-
if (isGetContentIntent) {
253-
(activity as MainActivity).pickedPath(path)
254-
} else if (isGetRingtonePicker) {
255-
if (path.isAudioFast()) {
256-
(activity as MainActivity).pickedRingtone(path)
257-
} else {
258-
activity?.toast(R.string.select_audio_file)
259-
}
260-
} else {
261-
activity?.tryOpenPathIntent(path, false)
262-
}
249+
clickedPath(item.path)
263250
}
264251
}
265252

app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/MyViewPagerFragment.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,35 @@ package com.simplemobiletools.filemanager.pro.fragments
33
import android.content.Context
44
import android.util.AttributeSet
55
import android.widget.RelativeLayout
6+
import com.simplemobiletools.commons.extensions.isAudioFast
7+
import com.simplemobiletools.commons.extensions.toast
8+
import com.simplemobiletools.filemanager.pro.R
9+
import com.simplemobiletools.filemanager.pro.activities.MainActivity
610
import com.simplemobiletools.filemanager.pro.activities.SimpleActivity
11+
import com.simplemobiletools.filemanager.pro.extensions.tryOpenPathIntent
712

813
abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet) : RelativeLayout(context, attributeSet) {
14+
protected var activity: SimpleActivity? = null
15+
916
var currentPath = ""
1017
var isGetContentIntent = false
1118
var isGetRingtonePicker = false
1219
var isPickMultipleIntent = false
1320

21+
protected fun clickedPath(path: String) {
22+
if (isGetContentIntent) {
23+
(activity as MainActivity).pickedPath(path)
24+
} else if (isGetRingtonePicker) {
25+
if (path.isAudioFast()) {
26+
(activity as MainActivity).pickedRingtone(path)
27+
} else {
28+
activity?.toast(R.string.select_audio_file)
29+
}
30+
} else {
31+
activity?.tryOpenPathIntent(path, false)
32+
}
33+
}
34+
1435
abstract fun setupFragment(activity: SimpleActivity)
1536

1637
abstract fun setupColors(textColor: Int, adjustedPrimaryColor: Int)

app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/RecentsFragment.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,12 @@ import com.simplemobiletools.commons.views.MyGridLayoutManager
1111
import com.simplemobiletools.filemanager.pro.activities.SimpleActivity
1212
import com.simplemobiletools.filemanager.pro.adapters.ItemsAdapter
1313
import com.simplemobiletools.filemanager.pro.extensions.config
14-
import com.simplemobiletools.filemanager.pro.extensions.tryOpenPathIntent
1514
import com.simplemobiletools.filemanager.pro.interfaces.ItemOperationsListener
1615
import com.simplemobiletools.filemanager.pro.models.ListItem
1716
import kotlinx.android.synthetic.main.recents_fragment.view.*
1817
import java.util.*
1918

2019
class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), ItemOperationsListener {
21-
private var activity: SimpleActivity? = null
22-
2320
override fun setupFragment(activity: SimpleActivity) {
2421
if (this.activity == null) {
2522
this.activity = activity
@@ -33,8 +30,8 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
3330
ensureBackgroundThread {
3431
getRecents { recents ->
3532
recents_swipe_refresh?.isRefreshing = false
36-
ItemsAdapter(activity as SimpleActivity, recents, this, recents_list, false, null, recents_swipe_refresh) {
37-
activity?.tryOpenPathIntent((it as FileDirItem).path, false)
33+
ItemsAdapter(activity as SimpleActivity, recents, this, recents_list, isPickMultipleIntent, null, recents_swipe_refresh) {
34+
clickedPath((it as FileDirItem).path)
3835
}.apply {
3936
recents_list.adapter = this
4037
}

0 commit comments

Comments
 (0)