From 58bc11a9539799f7f61c96041cf93a7c23a344dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Antonio=20D=C3=ADaz-Benito=20Soriano?= Date: Sun, 21 May 2017 14:22:30 +0200 Subject: [PATCH] Fix a sharing bug (#85) --- .../app/detail/PostDetailActivityInstrumentation.kt | 4 +++- app/src/main/kotlin/app/common/PresentationPost.kt | 2 +- app/src/main/kotlin/app/share/ShareFeature.kt | 8 ++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/androidTest/kotlin/app/detail/PostDetailActivityInstrumentation.kt b/app/src/androidTest/kotlin/app/detail/PostDetailActivityInstrumentation.kt index 1a22c32..6931067 100644 --- a/app/src/androidTest/kotlin/app/detail/PostDetailActivityInstrumentation.kt +++ b/app/src/androidTest/kotlin/app/detail/PostDetailActivityInstrumentation.kt @@ -62,7 +62,9 @@ internal class PostDetailActivityInstrumentation { intending(anyIntent()).respondWith(Instrumentation.ActivityResult(Activity.RESULT_OK, null)) onView(withId(R.id.share)).perform(click()) intended(intentChooser(allOf( - hasExtra(Intent.EXTRA_TITLE, ITEM.title)))) + hasExtra(Intent.EXTRA_SUBJECT, ITEM.title), + hasExtra(Intent.EXTRA_TEXT, ITEM.url) + ))) Intents.release() } diff --git a/app/src/main/kotlin/app/common/PresentationPost.kt b/app/src/main/kotlin/app/common/PresentationPost.kt index 1285933..5738163 100644 --- a/app/src/main/kotlin/app/common/PresentationPost.kt +++ b/app/src/main/kotlin/app/common/PresentationPost.kt @@ -28,7 +28,7 @@ internal data class PresentationPost( override fun getShareableTitle() = title - override fun getShareableLink(): Uri = Uri.parse(url) + override fun getShareableLink() = url companion object { @Suppress("unused") // Parcelable diff --git a/app/src/main/kotlin/app/share/ShareFeature.kt b/app/src/main/kotlin/app/share/ShareFeature.kt index 63def38..3020f0d 100644 --- a/app/src/main/kotlin/app/share/ShareFeature.kt +++ b/app/src/main/kotlin/app/share/ShareFeature.kt @@ -2,7 +2,6 @@ package app.share import android.content.Context import android.content.Intent -import android.net.Uri import org.jorge.ms.app.R /** @@ -14,8 +13,9 @@ internal class ShareFeature(private val context: Context) { * @param item The time to share. */ fun share(item: ShareFeature.Shareable) { - val intent = Intent(Intent.ACTION_SEND, item.getShareableLink()) - intent.putExtra(Intent.EXTRA_TITLE, item.getShareableTitle()) + val intent = Intent(Intent.ACTION_SEND) + intent.putExtra(Intent.EXTRA_SUBJECT, item.getShareableTitle()) + intent.putExtra(Intent.EXTRA_TEXT, item.getShareableLink()) intent.type = "text/plain" context.startActivity(Intent.createChooser(intent, context.getString(R.string.share))) } @@ -34,6 +34,6 @@ internal class ShareFeature(private val context: Context) { * Implementations should provide a uri representative of this item when shared. * @return A uri representative of this item when shared. */ - fun getShareableLink(): Uri + fun getShareableLink(): String } }