mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-02-02 11:36:58 +01:00
fix opening .apk files, treat them specially
This commit is contained in:
parent
a6f82c466a
commit
0605b85b35
@ -165,7 +165,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
|
|||||||
|
|
||||||
private fun openWith() {
|
private fun openWith() {
|
||||||
val file = File(getSelectedMedia().first().path)
|
val file = File(getSelectedMedia().first().path)
|
||||||
activity.openFile(Uri.fromFile(file), true)
|
activity.openFile(file, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun copyMoveTo(isCopyOperation: Boolean) {
|
private fun copyMoveTo(isCopyOperation: Boolean) {
|
||||||
|
@ -1,17 +1,37 @@
|
|||||||
package com.simplemobiletools.filemanager.extensions
|
package com.simplemobiletools.filemanager.extensions
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import com.simplemobiletools.commons.extensions.openFile
|
import android.support.v4.content.FileProvider
|
||||||
import com.simplemobiletools.commons.extensions.setAs
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.extensions.shareUris
|
|
||||||
import com.simplemobiletools.filemanager.BuildConfig
|
import com.simplemobiletools.filemanager.BuildConfig
|
||||||
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
fun Activity.shareUris(uris: ArrayList<Uri>) {
|
fun Activity.shareUris(uris: ArrayList<Uri>) {
|
||||||
shareUris(uris, BuildConfig.APPLICATION_ID)
|
shareUris(uris, BuildConfig.APPLICATION_ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Activity.openFile(file: File, forceChooser: Boolean) {
|
||||||
|
if (!forceChooser && file.absolutePath.endsWith(".apk", true)) {
|
||||||
|
val uri = if (isNougatPlus()) {
|
||||||
|
FileProvider.getUriForFile(this, "${BuildConfig.APPLICATION_ID}.provider", file)
|
||||||
|
} else {
|
||||||
|
Uri.fromFile(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
Intent().apply {
|
||||||
|
action = Intent.ACTION_VIEW
|
||||||
|
setDataAndType(uri, getMimeTypeFromUri(uri))
|
||||||
|
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||||
|
startActivity(this)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
openFile(Uri.fromFile(file), forceChooser)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun Activity.openFile(uri: Uri, forceChooser: Boolean) {
|
fun Activity.openFile(uri: Uri, forceChooser: Boolean) {
|
||||||
openFile(uri, forceChooser, BuildConfig.APPLICATION_ID)
|
openFile(uri, forceChooser, BuildConfig.APPLICATION_ID)
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.simplemobiletools.filemanager.fragments
|
package com.simplemobiletools.filemanager.fragments
|
||||||
|
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import android.support.v4.app.Fragment
|
import android.support.v4.app.Fragment
|
||||||
@ -220,7 +219,7 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val file = File(path)
|
val file = File(path)
|
||||||
activity!!.openFile(Uri.fromFile(file), false)
|
activity!!.openFile(file, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user