mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2024-11-26 22:47:59 +01:00
add Share functionality to images
This commit is contained in:
parent
f1c5699fe6
commit
3049e8f1e8
3 changed files with 40 additions and 38 deletions
|
@ -231,40 +231,7 @@ class MediaActivity : SimpleActivity(), AdapterView.OnItemClickListener, View.On
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun shareMedia() {
|
/*private fun prepareForDeleting() {
|
||||||
/*val selectedMedia = getSelectedMedia()
|
|
||||||
if (selectedMedia.size <= 1) {
|
|
||||||
shareMedium(selectedMedia[0])
|
|
||||||
} else {
|
|
||||||
shareMedia(selectedMedia)
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun shareMedia(media: List<Medium>) {
|
|
||||||
val shareTitle = resources.getString(R.string.share_via)
|
|
||||||
Intent().apply {
|
|
||||||
action = Intent.ACTION_SEND_MULTIPLE
|
|
||||||
type = "image/* video/*"
|
|
||||||
val uris = ArrayList<Uri>(media.size)
|
|
||||||
media.map { File(it.path) }
|
|
||||||
.mapTo(uris) { Uri.fromFile(it) }
|
|
||||||
|
|
||||||
putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris)
|
|
||||||
startActivity(Intent.createChooser(this, shareTitle))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*private fun getSelectedMedia(): List<Medium> {
|
|
||||||
val items = media_grid.checkedItemPositions
|
|
||||||
val cnt = items.size()
|
|
||||||
val media = (0..cnt - 1)
|
|
||||||
.filter { items.valueAt(it) }
|
|
||||||
.map { mMedia[items.keyAt(it)] }
|
|
||||||
|
|
||||||
return media
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun prepareForDeleting() {
|
|
||||||
if (isShowingPermDialog(File(mPath)))
|
if (isShowingPermDialog(File(mPath)))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -423,10 +390,6 @@ class MediaActivity : SimpleActivity(), AdapterView.OnItemClickListener, View.On
|
||||||
|
|
||||||
/*override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
|
/*override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.cab_share -> {
|
|
||||||
shareMedia()
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
R.id.cab_delete -> {
|
R.id.cab_delete -> {
|
||||||
prepareForDeleting()
|
prepareForDeleting()
|
||||||
mode.finish()
|
mode.finish()
|
||||||
|
|
|
@ -15,6 +15,8 @@ import com.simplemobiletools.gallery.Config
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.extensions.beVisibleIf
|
import com.simplemobiletools.gallery.extensions.beVisibleIf
|
||||||
|
import com.simplemobiletools.gallery.extensions.shareMedia
|
||||||
|
import com.simplemobiletools.gallery.extensions.shareMedium
|
||||||
import com.simplemobiletools.gallery.models.Medium
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
import kotlinx.android.synthetic.main.photo_video_item.view.*
|
import kotlinx.android.synthetic.main.photo_video_item.view.*
|
||||||
import kotlinx.android.synthetic.main.photo_video_tmb.view.*
|
import kotlinx.android.synthetic.main.photo_video_tmb.view.*
|
||||||
|
@ -45,6 +47,10 @@ class MediaAdapter(val activity: SimpleActivity, val media: MutableList<Medium>,
|
||||||
showProperties()
|
showProperties()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
R.id.cab_share -> {
|
||||||
|
shareMedia()
|
||||||
|
return true
|
||||||
|
}
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,6 +81,24 @@ class MediaAdapter(val activity: SimpleActivity, val media: MutableList<Medium>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun shareMedia() {
|
||||||
|
val selections = multiSelector.selectedPositions
|
||||||
|
if (selections.size <= 1) {
|
||||||
|
activity.shareMedium(getSelectedMedia()[0])
|
||||||
|
} else {
|
||||||
|
activity.shareMedia(getSelectedMedia())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getSelectedMedia(): List<Medium> {
|
||||||
|
val selections = multiSelector.selectedPositions
|
||||||
|
val cnt = selections.size
|
||||||
|
val selectedMedia = (0..cnt - 1)
|
||||||
|
.map { media[selections[it]] }
|
||||||
|
|
||||||
|
return selectedMedia
|
||||||
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||||
views.add(holder.bindView(activity, multiSelectorMode, multiSelector, media[position]))
|
views.add(holder.bindView(activity, multiSelectorMode, multiSelector, media[position]))
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import android.net.Uri
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.models.Medium
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
fun Activity.shareMedium(medium: Medium) {
|
fun Activity.shareMedium(medium: Medium) {
|
||||||
val shareTitle = resources.getString(R.string.share_via)
|
val shareTitle = resources.getString(R.string.share_via)
|
||||||
|
@ -18,3 +19,17 @@ fun Activity.shareMedium(medium: Medium) {
|
||||||
startActivity(Intent.createChooser(this, shareTitle))
|
startActivity(Intent.createChooser(this, shareTitle))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Activity.shareMedia(media: List<Medium>) {
|
||||||
|
val shareTitle = resources.getString(R.string.share_via)
|
||||||
|
Intent().apply {
|
||||||
|
action = Intent.ACTION_SEND_MULTIPLE
|
||||||
|
type = "image/* video/*"
|
||||||
|
val uris = ArrayList<Uri>(media.size)
|
||||||
|
media.map { File(it.path) }
|
||||||
|
.mapTo(uris) { Uri.fromFile(it) }
|
||||||
|
|
||||||
|
putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris)
|
||||||
|
startActivity(Intent.createChooser(this, shareTitle))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue