@@ -15,10 +15,7 @@ import com.simplemobiletools.commons.dialogs.ConfirmationDialog
1515import com.simplemobiletools.commons.dialogs.FilePickerDialog
1616import com.simplemobiletools.commons.dialogs.PropertiesDialog
1717import com.simplemobiletools.commons.dialogs.RenameItemDialog
18- import com.simplemobiletools.commons.extensions.formatSize
19- import com.simplemobiletools.commons.extensions.getCacheStrategy
20- import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
21- import com.simplemobiletools.commons.extensions.toast
18+ import com.simplemobiletools.commons.extensions.*
2219import com.simplemobiletools.commons.models.FileDirItem
2320import com.simplemobiletools.filemanager.R
2421import com.simplemobiletools.filemanager.activities.SimpleActivity
@@ -27,6 +24,7 @@ import kotlinx.android.synthetic.main.list_item.view.*
2724import java.io.File
2825import java.util.*
2926
27+
3028class ItemsAdapter (val activity : SimpleActivity , var mItems : MutableList <FileDirItem >, val listener : ItemOperationsListener ? , val itemClick : (FileDirItem ) -> Unit ) :
3129 RecyclerView .Adapter <ItemsAdapter .ViewHolder >() {
3230
@@ -147,13 +145,26 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
147145
148146 val shareTitle = activity.resources.getString(R .string.share_via)
149147 Intent ().apply {
150- action = Intent .ACTION_SEND_MULTIPLE
148+ action = if (uris.size <= 1 ) Intent . ACTION_SEND else Intent .ACTION_SEND_MULTIPLE
151149 putParcelableArrayListExtra(Intent .EXTRA_STREAM , uris)
152- type = " */* "
150+ type = getMimeType(selectedItems)
153151 activity.startActivity(Intent .createChooser(this , shareTitle))
154152 }
155153 }
156154
155+ private fun getMimeType (items : List <FileDirItem >): String {
156+ val firstMimeType = items.first().path.getMimeTypeFromPath()
157+ val firstMimeGroup = firstMimeType.substringBefore(" /" )
158+
159+ items.forEach {
160+ val mimeGroup = it.path.getMimeTypeFromPath().substringBefore(" /" )
161+ if (mimeGroup != firstMimeGroup) {
162+ return " */*"
163+ }
164+ }
165+ return firstMimeType
166+ }
167+
157168 private fun copyMoveTo (isCopyOperation : Boolean ) {
158169 val files = ArrayList <File >()
159170 selectedPositions.forEach { files.add(File (mItems[it].path)) }
0 commit comments