Glimpse: Don't use SEND_MULTIPLE if we have a single Uri

Change-Id: Ia4f99ed8fb7a30355f9910c66c808ba091693ca6
diff --git a/app/src/main/java/org/lineageos/glimpse/ext/Intent.kt b/app/src/main/java/org/lineageos/glimpse/ext/Intent.kt
index a144288..b66c202 100644
--- a/app/src/main/java/org/lineageos/glimpse/ext/Intent.kt
+++ b/app/src/main/java/org/lineageos/glimpse/ext/Intent.kt
@@ -11,17 +11,27 @@
 import org.lineageos.glimpse.models.MediaType.VIDEO
 
 fun Intent.shareIntent(vararg medias: Media) = apply {
-    action = Intent.ACTION_SEND_MULTIPLE
-    putParcelableArrayListExtra(
-        Intent.EXTRA_STREAM,
-        medias.map { it.externalContentUri }.toCollection(ArrayList())
-    )
-    type = when {
-        medias.all { it.mediaType == IMAGE } -> "image/*"
-        medias.all { it.mediaType == VIDEO } -> "video/*"
-        else -> {
-            putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/*", "video/*"))
-            "*/*"
+    assert(medias.isNotEmpty()) { "No media" }
+
+    if (medias.size == 1) {
+        action = Intent.ACTION_SEND
+        medias[0].let {
+            putExtra(Intent.EXTRA_STREAM, it.externalContentUri)
+            type = it.mimeType
+        }
+    } else {
+        action = Intent.ACTION_SEND_MULTIPLE
+        putParcelableArrayListExtra(
+            Intent.EXTRA_STREAM,
+            medias.map { it.externalContentUri }.toCollection(ArrayList())
+        )
+        type = when {
+            medias.all { it.mediaType == IMAGE } -> "image/*"
+            medias.all { it.mediaType == VIDEO } -> "video/*"
+            else -> {
+                putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/*", "video/*"))
+                "*/*"
+            }
         }
     }
     flags = Intent.FLAG_GRANT_READ_URI_PERMISSION