From 12d79d36a22253a9b3ee64602bb813a513b765dd Mon Sep 17 00:00:00 2001 From: Fabian Devel Date: Thu, 29 Feb 2024 10:16:27 +0100 Subject: [PATCH] fix(Print): Fix print not working for empty subject --- .../mail/ui/main/thread/PrintMailViewModel.kt | 10 +++++----- .../java/com/infomaniak/mail/utils/PrintHeaderUtils.kt | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/infomaniak/mail/ui/main/thread/PrintMailViewModel.kt b/app/src/main/java/com/infomaniak/mail/ui/main/thread/PrintMailViewModel.kt index 79aae69351..3f598e85fd 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/main/thread/PrintMailViewModel.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/main/thread/PrintMailViewModel.kt @@ -29,6 +29,7 @@ import android.print.PrintManager import android.webkit.WebView import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.infomaniak.mail.utils.extensions.formatSubject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -40,11 +41,10 @@ class PrintMailViewModel : ViewModel() { webView: WebView, onFinish: () -> Unit, ) = viewModelScope.launch(Dispatchers.Main) { - subject?.let { subject -> - val webViewPrintAdapter = PrintAdapterWrapper(webView.createPrintDocumentAdapter(subject), onFinish) - val printManager = activityContext.getSystemService(Context.PRINT_SERVICE) as PrintManager - printManager.print(subject, webViewPrintAdapter, null) - } + val protectedSubject = activityContext.formatSubject(subject) + val webViewPrintAdapter = PrintAdapterWrapper(webView.createPrintDocumentAdapter(protectedSubject), onFinish) + val printManager = activityContext.getSystemService(Context.PRINT_SERVICE) as PrintManager + printManager.print(protectedSubject, webViewPrintAdapter, null) } private class PrintAdapterWrapper( diff --git a/app/src/main/java/com/infomaniak/mail/utils/PrintHeaderUtils.kt b/app/src/main/java/com/infomaniak/mail/utils/PrintHeaderUtils.kt index 54f22aa85f..cedc737f2d 100644 --- a/app/src/main/java/com/infomaniak/mail/utils/PrintHeaderUtils.kt +++ b/app/src/main/java/com/infomaniak/mail/utils/PrintHeaderUtils.kt @@ -22,6 +22,7 @@ import com.infomaniak.mail.R import com.infomaniak.mail.data.models.correspondent.Recipient import com.infomaniak.mail.data.models.message.Message import com.infomaniak.mail.utils.MailDateFormatUtils.formatForHeader +import com.infomaniak.mail.utils.extensions.formatSubject import com.infomaniak.mail.utils.extensions.toDate import org.jsoup.nodes.Element import java.util.Date @@ -40,10 +41,9 @@ object PrintHeaderUtils { elementsToInsert.add(iconElement) elementsToInsert.add(firstSeparator) - message.subject?.let { subject -> - val subjectElement = Element("b").appendText(subject) - elementsToInsert.add(subjectElement) - } + val subject = context.formatSubject(message.subject) + val subjectElement = Element("b").appendText(subject) + elementsToInsert.add(subjectElement) elementsToInsert.add(secondSeparator)