Fix 4021 - Provide tab title during share
parent
c556e819bd
commit
1ee0243efa
|
@ -7,6 +7,7 @@ package org.mozilla.fenix.share
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.Intent.ACTION_SEND
|
import android.content.Intent.ACTION_SEND
|
||||||
|
import android.content.Intent.EXTRA_SUBJECT
|
||||||
import android.content.Intent.EXTRA_TEXT
|
import android.content.Intent.EXTRA_TEXT
|
||||||
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
|
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -80,6 +81,7 @@ class DefaultShareController(
|
||||||
override fun handleShareToApp(app: AppShareOption) {
|
override fun handleShareToApp(app: AppShareOption) {
|
||||||
val intent = Intent(ACTION_SEND).apply {
|
val intent = Intent(ACTION_SEND).apply {
|
||||||
putExtra(EXTRA_TEXT, getShareText())
|
putExtra(EXTRA_TEXT, getShareText())
|
||||||
|
putExtra(EXTRA_SUBJECT, shareData.map { it.title }.joinToString(", "))
|
||||||
type = "text/plain"
|
type = "text/plain"
|
||||||
flags = FLAG_ACTIVITY_NEW_TASK
|
flags = FLAG_ACTIVITY_NEW_TASK
|
||||||
setClassName(app.packageName, app.activityName)
|
setClassName(app.packageName, app.activityName)
|
||||||
|
@ -161,8 +163,8 @@ class DefaultShareController(
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
fun getShareText() = shareData.joinToString("\n") { data ->
|
fun getShareText() = shareData.joinToString("\n\n") { data ->
|
||||||
listOfNotNull(data.url, data.text).joinToString(" ")
|
listOfNotNull(data.title, data.url).joinToString(" ")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Navigation between app fragments uses ShareTab as arguments. SendTabUseCases uses TabData.
|
// Navigation between app fragments uses ShareTab as arguments. SendTabUseCases uses TabData.
|
||||||
|
|
|
@ -57,7 +57,7 @@ class ShareControllerTest {
|
||||||
TabData("title0", "url0"),
|
TabData("title0", "url0"),
|
||||||
TabData("title1", "url1")
|
TabData("title1", "url1")
|
||||||
)
|
)
|
||||||
private val textToShare = "${shareData[0].url}\n${shareData[1].url}"
|
private val textToShare = "${shareData[0].title} ${shareData[0].url}\n\n${shareData[1].title} ${shareData[1].url}"
|
||||||
private val sendTabUseCases = mockk<SendTabUseCases>(relaxed = true)
|
private val sendTabUseCases = mockk<SendTabUseCases>(relaxed = true)
|
||||||
private val snackbar = mockk<FenixSnackbar>(relaxed = true)
|
private val snackbar = mockk<FenixSnackbar>(relaxed = true)
|
||||||
private val navController = mockk<NavController>(relaxed = true)
|
private val navController = mockk<NavController>(relaxed = true)
|
||||||
|
|
Loading…
Reference in New Issue