Set default alt-text to media label when pasting images (#3800)
GBoard and other IME's support pasting images, which are converted to attachments. Sometimes these have labels that describe the image. If present, set it as the default alt-text. Fixes #3799
This commit is contained in:
parent
c29a7dfe03
commit
480d412e4c
|
@ -943,7 +943,10 @@ class ComposeActivity :
|
||||||
val split = contentInfo.partition { item: ClipData.Item -> item.uri != null }
|
val split = contentInfo.partition { item: ClipData.Item -> item.uri != null }
|
||||||
split.first?.let { content ->
|
split.first?.let { content ->
|
||||||
for (i in 0 until content.clip.itemCount) {
|
for (i in 0 until content.clip.itemCount) {
|
||||||
pickMedia(content.clip.getItemAt(i).uri)
|
pickMedia(
|
||||||
|
content.clip.getItemAt(i).uri,
|
||||||
|
contentInfo.clip.description.label as String?
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return split.second
|
return split.second
|
||||||
|
@ -1064,9 +1067,9 @@ class ComposeActivity :
|
||||||
viewModel.removeMediaFromQueue(item)
|
viewModel.removeMediaFromQueue(item)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun pickMedia(uri: Uri) {
|
private fun pickMedia(uri: Uri, description: String? = null) {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
viewModel.pickMedia(uri).onFailure { throwable ->
|
viewModel.pickMedia(uri, description).onFailure { throwable ->
|
||||||
val errorString = when (throwable) {
|
val errorString = when (throwable) {
|
||||||
is FileSizeException -> {
|
is FileSizeException -> {
|
||||||
val decimalFormat = DecimalFormat("0.##")
|
val decimalFormat = DecimalFormat("0.##")
|
||||||
|
|
Loading…
Reference in New Issue