From 9ab08a358c92ae89d27f4564f57d40d619621a46 Mon Sep 17 00:00:00 2001 From: DreVla Date: Tue, 28 Mar 2023 12:44:17 +0300 Subject: [PATCH] Bug 1812461 - Add option to hide CFRPopup dismissal button Since we migrated the `privateBrowsingRecommend` to CFRPopup, this popup has a `No thanks` dismiss button, therefore not requiring the classic X dismiss button. This change adds a parameter with which we are able to control if we want to show the X button or not in a CFRPopup. --- .../cfr/src/main/java/mozilla/components/compose/cfr/CFRPopup.kt | 1 + .../src/main/java/mozilla/components/compose/cfr/CFRPopupContent.kt | 5 ++++- .../java/mozilla/components/compose/cfr/CFRPopupFullscreenLayout.kt | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopup.kt b/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopup.kt index 18e82f63252d..7d18e795b3ba 100644 --- a/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopup.kt +++ b/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopup.kt @@ -44,6 +44,7 @@ data class CFRPopupProperties( val popupAlignment: PopupAlignment = PopupAlignment.BODY_TO_ANCHOR_CENTER, val popupBodyColors: List = listOf(Color.Blue.toArgb()), val popupVerticalOffset: Dp = CFRPopup.DEFAULT_VERTICAL_OFFSET.dp, + val showDismissButton: Boolean = true, val dismissButtonColor: Int = Color.Black.toArgb(), val dismissOnBackPress: Boolean = false, val dismissOnClickOutside: Boolean = false, diff --git a/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupContent.kt b/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupContent.kt index c95f0a147e17..faa16b7a35fc 100644 --- a/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupContent.kt +++ b/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupContent.kt @@ -50,6 +50,7 @@ import mozilla.components.ui.icons.R as iconsR @Suppress("LongParameterList", "LongMethod") fun CFRPopupContent( popupBodyColors: List, + showDismissButton: Boolean, dismissButtonColor: Int, indicatorDirection: CFRPopup.IndicatorDirection, indicatorArrowStartOffset: Dp, @@ -103,7 +104,7 @@ fun CFRPopupContent( ) { Box( modifier = Modifier.padding( - end = if(showDismissButton) 24.dp else 16.dp, // 8.dp extra padding to the "X" icon + end = if (showDismissButton) 24.dp else 16.dp, // 8.dp extra padding to the "X" icon ), ) { text() @@ -147,6 +148,7 @@ fun CFRPopupContent( private fun CFRPopupAbovePreview() { CFRPopupContent( popupBodyColors = listOf(Color.Cyan.toArgb(), Color.Blue.toArgb()), + showDismissButton = true, dismissButtonColor = Color.Black.toArgb(), indicatorDirection = DOWN, indicatorArrowStartOffset = CFRPopup.DEFAULT_INDICATOR_START_OFFSET.dp, @@ -163,6 +165,7 @@ private fun CFRPopupAbovePreview() { private fun CFRPopupBelowPreview() { CFRPopupContent( popupBodyColors = listOf(Color.Cyan.toArgb(), Color.Blue.toArgb()), + showDismissButton = true, dismissButtonColor = Color.Black.toArgb(), indicatorDirection = UP, indicatorArrowStartOffset = CFRPopup.DEFAULT_INDICATOR_START_OFFSET.dp, diff --git a/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupFullscreenLayout.kt b/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupFullscreenLayout.kt index 3ca00e31332f..cb47590b7c62 100644 --- a/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupFullscreenLayout.kt +++ b/mobile/android/android-components/components/compose/cfr/src/main/java/mozilla/components/compose/cfr/CFRPopupFullscreenLayout.kt @@ -181,6 +181,7 @@ internal class CFRPopupFullscreenLayout( ) { CFRPopupContent( popupBodyColors = properties.popupBodyColors, + showDismissButton = properties.showDismissButton, dismissButtonColor = properties.dismissButtonColor, indicatorDirection = properties.indicatorDirection, indicatorArrowStartOffset = with(LocalDensity.current) { -- 2.11.4.GIT