11package com.simplemobiletools.filemanager.fragments
22
3- import android.content.ActivityNotFoundException
4- import android.content.Intent
53import android.net.Uri
64import android.os.Bundle
75import android.os.Parcelable
@@ -12,19 +10,21 @@ import android.view.LayoutInflater
1210import android.view.View
1311import android.view.ViewGroup
1412import com.simplemobiletools.commons.dialogs.StoragePickerDialog
15- import com.simplemobiletools.commons.extensions.*
16- import com.simplemobiletools.commons.helpers.REAL_FILE_PATH
13+ import com.simplemobiletools.commons.extensions.deleteFiles
14+ import com.simplemobiletools.commons.extensions.getFilenameFromPath
15+ import com.simplemobiletools.commons.extensions.toast
16+ import com.simplemobiletools.commons.extensions.updateTextColors
1717import com.simplemobiletools.commons.models.FileDirItem
1818import com.simplemobiletools.commons.views.Breadcrumbs
1919import com.simplemobiletools.commons.views.MyScalableRecyclerView
20- import com.simplemobiletools.filemanager.BuildConfig
2120import com.simplemobiletools.filemanager.R
2221import com.simplemobiletools.filemanager.activities.MainActivity
2322import com.simplemobiletools.filemanager.activities.SimpleActivity
2423import com.simplemobiletools.filemanager.adapters.ItemsAdapter
2524import com.simplemobiletools.filemanager.dialogs.CreateNewItemDialog
2625import com.simplemobiletools.filemanager.extensions.config
2726import com.simplemobiletools.filemanager.extensions.isPathOnRoot
27+ import com.simplemobiletools.filemanager.extensions.openFile
2828import com.simplemobiletools.filemanager.helpers.RootHelpers
2929import com.stericson.RootTools.RootTools
3030import kotlinx.android.synthetic.main.items_fragment.*
@@ -224,48 +224,12 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
224224 if (isGetContentIntent) {
225225 (activity as MainActivity ).pickedPath(path)
226226 } else {
227- fileClicked(path)
227+ val file = File (path)
228+ activity.openFile(Uri .fromFile(file), false )
228229 }
229230 }
230231 }
231232
232- private fun fileClicked (path : String ) {
233- val file = File (path)
234- val mimeType = path.getMimeTypeFromPath()
235-
236- val uri = context.getFilePublicUri(file, BuildConfig .APPLICATION_ID )
237- Intent (Intent .ACTION_VIEW ).apply {
238- setDataAndType(uri, mimeType)
239- flags = Intent .FLAG_ACTIVITY_NEW_TASK
240- addFlags(Intent .FLAG_GRANT_READ_URI_PERMISSION )
241-
242- if (context.isNougatPlus()) {
243- putExtra(REAL_FILE_PATH , Uri .fromFile(file))
244- }
245-
246- try {
247- startActivity(this )
248- } catch (e: ActivityNotFoundException ) {
249- if (! tryGenericMimeType(this , mimeType, file)) {
250- activity.toast(R .string.no_app_found)
251- }
252- }
253- }
254- }
255-
256- private fun tryGenericMimeType (intent : Intent , mimeType : String , file : File ): Boolean {
257- val uri = context.getFilePublicUri(file, BuildConfig .APPLICATION_ID )
258- val genericMimeType = getGenericMimeType(mimeType)
259- intent.setDataAndType(uri, genericMimeType)
260- intent.addFlags(Intent .FLAG_GRANT_READ_URI_PERMISSION )
261- return try {
262- startActivity(intent)
263- true
264- } catch (e: ActivityNotFoundException ) {
265- false
266- }
267- }
268-
269233 private fun createNewItem () {
270234 CreateNewItemDialog (activity as SimpleActivity , currentPath) {
271235 if (it) {
@@ -274,14 +238,6 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
274238 }
275239 }
276240
277- private fun getGenericMimeType (mimeType : String ): String {
278- if (! mimeType.contains(" /" ))
279- return mimeType
280-
281- val type = mimeType.substring(0 , mimeType.indexOf(" /" ))
282- return " $type /*"
283- }
284-
285241 override fun breadcrumbClicked (id : Int ) {
286242 if (id == 0 ) {
287243 StoragePickerDialog (activity, currentPath) {
0 commit comments