diff --git a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapper.kt b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapper.kt
index cb51d2adfb..4705004223 100644
--- a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapper.kt
+++ b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapper.kt
@@ -18,7 +18,6 @@
package ch.protonmail.android.maildetail.presentation.mapper
-import ch.protonmail.android.mailattachments.domain.model.isCalendarAttachment
import ch.protonmail.android.mailmessage.domain.model.AttachmentListExpandCollapseMode
import ch.protonmail.android.mailmessage.domain.model.DecryptedMessageBody
import ch.protonmail.android.mailmessage.domain.model.GetMessageBodyError
@@ -35,7 +34,7 @@ class MessageBodyUiModelMapper @Inject constructor(
private val attachmentGroupUiModelMapper: AttachmentGroupUiModelMapper
) {
- suspend fun toUiModel(
+ fun toUiModel(
decryptedMessageBody: DecryptedMessageBody,
attachmentListExpandCollapseMode: AttachmentListExpandCollapseMode?,
existingMessageBodyUiModel: MessageBodyUiModel? = null
@@ -61,7 +60,6 @@ class MessageBodyUiModelMapper @Inject constructor(
shouldShowEmbeddedImagesBanner = hasEmbeddedImagesBlocked,
shouldShowRemoteContentBanner = hasRemoteContentBlocked,
shouldShowExpandCollapseButton = hasExpandCollapseButton,
- shouldShowOpenInProtonCalendar = decryptedMessageBody.attachments.any { it.isCalendarAttachment() },
attachments = if (decryptedMessageBody.attachments.isNotEmpty()) {
attachmentGroupUiModelMapper.toUiModel(
decryptedMessageBody.attachments,
@@ -79,7 +77,6 @@ class MessageBodyUiModelMapper @Inject constructor(
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
diff --git a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/sample/MessageDetailBodyUiModelSample.kt b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/sample/MessageDetailBodyUiModelSample.kt
index 2582e9eb0b..df38062085 100644
--- a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/sample/MessageDetailBodyUiModelSample.kt
+++ b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/sample/MessageDetailBodyUiModelSample.kt
@@ -64,7 +64,6 @@ object MessageDetailBodyUiModelSample {
mimeType: MimeTypeUiModel = MimeTypeUiModel.Html,
shouldShowEmbeddedImagesBanner: Boolean = false,
shouldShowRemoteContentBanner: Boolean = false,
- shouldShowOpenInProtonCalendar: Boolean = false,
attachments: AttachmentGroupUiModel? = null
) = MessageBodyUiModel(
messageId = messageId,
@@ -73,7 +72,6 @@ object MessageDetailBodyUiModelSample {
shouldShowEmbeddedImagesBanner = shouldShowEmbeddedImagesBanner,
shouldShowRemoteContentBanner = shouldShowRemoteContentBanner,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = shouldShowOpenInProtonCalendar,
attachments = attachments,
viewModePreference = ViewModePreference.ThemeDefault
)
diff --git a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/ConversationDetailItem.kt b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/ConversationDetailItem.kt
index fb19de6708..f06d61df37 100644
--- a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/ConversationDetailItem.kt
+++ b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/ConversationDetailItem.kt
@@ -306,7 +306,6 @@ private fun ColumnScope.ConversationDetailExpandedItem(
onLoadRemoteContent = { actions.onLoadRemoteContent(it) },
onLoadEmbeddedImages = { actions.onLoadEmbeddedImages(it) },
onLoadRemoteAndEmbeddedContent = { actions.onLoadRemoteAndEmbeddedContent(it) },
- onOpenInProtonCalendar = { actions.onOpenInProtonCalendar(it) },
onPrint = { actions.onPrint(it) }
),
onMessageBodyLoaded = { id: MessageId, i: Int ->
diff --git a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/MessageBody.kt b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/MessageBody.kt
index b8cf3def52..b8f396c259 100644
--- a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/MessageBody.kt
+++ b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/MessageBody.kt
@@ -84,13 +84,6 @@ fun MessageBody(
}
}
- if (messageBodyUiModel.shouldShowOpenInProtonCalendar) {
- OpenInProtonCalendarBanner(
- modifier = Modifier.testTag(MessageBodyTestTags.MessageBodyBannerProtonCalendar),
- onOpenInProtonCalendarClick = { actions.onOpenInProtonCalendar(messageBodyUiModel.messageId) }
- )
- }
-
MailDivider(modifier = Modifier.padding(top = ProtonDimens.Spacing.Standard))
if (hasWebView) {
@@ -185,7 +178,6 @@ object MessageBody {
val onLoadRemoteContent: (MessageId) -> Unit,
val onLoadEmbeddedImages: (MessageId) -> Unit,
val onLoadRemoteAndEmbeddedContent: (MessageId) -> Unit,
- val onOpenInProtonCalendar: (MessageId) -> Unit,
val onPrint: (MessageId) -> Unit
)
}
diff --git a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/OpenInProtonCalendarBanner.kt b/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/OpenInProtonCalendarBanner.kt
deleted file mode 100644
index 995617fa42..0000000000
--- a/mail-detail/presentation/src/main/kotlin/ch/protonmail/android/maildetail/presentation/ui/OpenInProtonCalendarBanner.kt
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2022 Proton Technologies AG
- * This file is part of Proton Technologies AG and Proton Mail.
- *
- * Proton Mail is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Proton Mail is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Proton Mail. If not, see .
- */
-
-package ch.protonmail.android.maildetail.presentation.ui
-
-import androidx.compose.foundation.BorderStroke
-import androidx.compose.foundation.Image
-import androidx.compose.foundation.border
-import androidx.compose.foundation.layout.Arrangement
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.PaddingValues
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
-import androidx.compose.material3.Button
-import androidx.compose.material3.ButtonDefaults
-import androidx.compose.material3.Icon
-import androidx.compose.material3.Text
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.shadow
-import androidx.compose.ui.res.painterResource
-import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.tooling.preview.Preview
-import ch.protonmail.android.design.compose.theme.ProtonDimens
-import ch.protonmail.android.design.compose.theme.ProtonTheme
-import ch.protonmail.android.mailcommon.presentation.NO_CONTENT_DESCRIPTION
-import ch.protonmail.android.mailcommon.presentation.compose.MailDimens
-import ch.protonmail.android.maildetail.presentation.R
-import ch.protonmail.android.design.compose.R as design
-
-@Composable
-fun OpenInProtonCalendarBanner(modifier: Modifier = Modifier, onOpenInProtonCalendarClick: () -> Unit) {
- Button(
- shape = ProtonTheme.shapes.extraLarge,
- colors = ButtonDefaults.buttonColors().copy(
- containerColor = ProtonTheme.colors.backgroundNorm
- ),
- contentPadding = PaddingValues(ProtonDimens.Spacing.Large),
- border = BorderStroke(MailDimens.DefaultBorder, ProtonTheme.colors.borderNorm),
- modifier = modifier
- .padding(
- start = ProtonDimens.Spacing.Large,
- end = ProtonDimens.Spacing.Large,
- bottom = ProtonDimens.Spacing.Standard
- )
- .fillMaxWidth()
- .shadow(
- elevation = ProtonDimens.ShadowElevation.Soft,
- shape = ProtonTheme.shapes.extraLarge,
- spotColor = ProtonTheme.colors.shadowSoft,
- ambientColor = ProtonTheme.colors.shadowSoft
- ),
-
- onClick = onOpenInProtonCalendarClick
- ) {
- Row(modifier = Modifier.fillMaxWidth()) {
- Box(
- modifier = Modifier
- .size(MailDimens.ProtonCalendarIconSize)
- .border(
- ProtonDimens.OutlinedBorderSize, ProtonTheme.colors.borderNorm,
- shape = ProtonTheme.shapes.large
- )
- ) {
- Image(
- modifier = Modifier.align(Alignment.Center),
- painter = painterResource(id = R.drawable.ic_logo_calendar),
- contentDescription = NO_CONTENT_DESCRIPTION
- )
-
- }
- Spacer(modifier = Modifier.size(ProtonDimens.Spacing.Large))
- Column(
- modifier = Modifier.weight(1f),
- verticalArrangement = Arrangement.Center
- ) {
- Text(
- style = ProtonTheme.typography.bodyMedium,
- color = ProtonTheme.colors.textAccent,
- maxLines = 1,
- text = stringResource(id = R.string.open_on_protoncalendar_banner_title)
- )
- Spacer(modifier = Modifier.size(ProtonDimens.Spacing.Tiny))
- Text(
- style = ProtonTheme.typography.bodySmall,
- color = ProtonTheme.colors.textWeak,
- maxLines = 1,
- text = stringResource(id = R.string.open_on_protoncalendar_banner_description)
- )
- }
- Box(modifier = Modifier.size(MailDimens.ProtonCalendarIconSize)) {
- Icon(
- modifier = Modifier.align(Alignment.Center),
- painter = painterResource(id = design.drawable.ic_proton_arrow_out_square_new),
- contentDescription = NO_CONTENT_DESCRIPTION,
- tint = ProtonTheme.colors.iconHint
- )
- }
- }
- }
-}
-
-@Preview(showBackground = true)
-@Composable
-private fun OpenInProtonCalendarBannerPreview() {
- ProtonTheme {
- Box {
- OpenInProtonCalendarBanner(onOpenInProtonCalendarClick = {})
- }
- }
-}
diff --git a/mail-detail/presentation/src/test/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapperTest.kt b/mail-detail/presentation/src/test/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapperTest.kt
index 50531fa933..c53978146d 100644
--- a/mail-detail/presentation/src/test/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapperTest.kt
+++ b/mail-detail/presentation/src/test/kotlin/ch/protonmail/android/maildetail/presentation/mapper/MessageBodyUiModelMapperTest.kt
@@ -40,7 +40,6 @@ import kotlin.test.assertEquals
class MessageBodyUiModelMapperTest {
private val decryptedMessageBody = "Decrypted message body."
- private val decryptedMessageBodyWithCss = "Decrypted message body with CSS."
private val attachmentGroupUiModelMapper = mockk {
every { this@mockk.toUiModel(listOf(AttachmentMetadataSamples.Invoice), any()) } returns AttachmentGroupUiModel(
@@ -111,7 +110,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -151,7 +149,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = AttachmentGroupUiModel(
attachments = listOf(
AttachmentMetadataUiModelSamples.Invoice,
@@ -194,7 +191,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = true,
attachments = AttachmentGroupUiModel(
attachments = listOf(
AttachmentMetadataUiModelSamples.Calendar
@@ -235,7 +231,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = AttachmentGroupUiModel(
attachments = listOf(
AttachmentMetadataUiModelSamples.InvoiceWithBinaryContentType
@@ -282,7 +277,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -315,7 +309,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -348,7 +341,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = true,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -381,7 +373,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -414,7 +405,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = true,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -438,7 +428,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = false,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
@@ -470,7 +459,6 @@ class MessageBodyUiModelMapperTest {
shouldShowEmbeddedImagesBanner = false,
shouldShowRemoteContentBanner = true,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = false,
attachments = null,
viewModePreference = ViewModePreference.ThemeDefault
)
diff --git a/mail-message/presentation/src/main/kotlin/ch/protonmail/android/mailmessage/presentation/model/MessageBodyUiModel.kt b/mail-message/presentation/src/main/kotlin/ch/protonmail/android/mailmessage/presentation/model/MessageBodyUiModel.kt
index 7a2c1fc7cb..342335dab2 100644
--- a/mail-message/presentation/src/main/kotlin/ch/protonmail/android/mailmessage/presentation/model/MessageBodyUiModel.kt
+++ b/mail-message/presentation/src/main/kotlin/ch/protonmail/android/mailmessage/presentation/model/MessageBodyUiModel.kt
@@ -28,7 +28,6 @@ data class MessageBodyUiModel(
val shouldShowEmbeddedImagesBanner: Boolean,
val shouldShowRemoteContentBanner: Boolean,
val shouldShowExpandCollapseButton: Boolean,
- val shouldShowOpenInProtonCalendar: Boolean,
val attachments: AttachmentGroupUiModel?,
val viewModePreference: ViewModePreference
)
diff --git a/test/test-data/src/main/kotlin/ch/protonmail/android/testdata/message/MessageBodyUiModelTestData.kt b/test/test-data/src/main/kotlin/ch/protonmail/android/testdata/message/MessageBodyUiModelTestData.kt
index ee761b4cc0..1cef0ca471 100644
--- a/test/test-data/src/main/kotlin/ch/protonmail/android/testdata/message/MessageBodyUiModelTestData.kt
+++ b/test/test-data/src/main/kotlin/ch/protonmail/android/testdata/message/MessageBodyUiModelTestData.kt
@@ -108,7 +108,6 @@ object MessageBodyUiModelTestData {
mimeType: MimeTypeUiModel = MimeTypeUiModel.PlainText,
shouldShowEmbeddedImagesBanner: Boolean = false,
shouldShowRemoteContentBanner: Boolean = false,
- shouldShowOpenInProtonCalendar: Boolean = false,
attachments: AttachmentGroupUiModel? = null,
viewModePreference: ViewModePreference = ViewModePreference.ThemeDefault
): MessageBodyUiModel {
@@ -119,7 +118,6 @@ object MessageBodyUiModelTestData {
shouldShowEmbeddedImagesBanner = shouldShowEmbeddedImagesBanner,
shouldShowRemoteContentBanner = shouldShowRemoteContentBanner,
shouldShowExpandCollapseButton = false,
- shouldShowOpenInProtonCalendar = shouldShowOpenInProtonCalendar,
attachments = attachments,
viewModePreference = viewModePreference
)