diff --git a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/dialog/CookieBannerReEngagementDialogUtils.kt b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/dialog/CookieBannerReEngagementDialogUtils.kt
index 854e950d04..488d3dc3d8 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/dialog/CookieBannerReEngagementDialogUtils.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/dialog/CookieBannerReEngagementDialogUtils.kt
@@ -84,6 +84,7 @@ object CookieBannerReEngagementDialogUtils {
if (status == CookieBannerHandlingStatus.DETECTED &&
settings.shouldCookieBannerReEngagementDialog()
) {
+ settings.lastInteractionWithReEngageCookieBannerDialogInMS = System.currentTimeMillis()
settings.cookieBannerDetectedPreviously = true
val directions =
BrowserFragmentDirections.actionBrowserFragmentToCookieBannerDialogFragment()
diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
index 8ea6454238..2715924c17 100644
--- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
@@ -552,6 +552,13 @@ class Settings(private val appContext: Context) : PreferencesHolder {
default = false,
)
+ var lastInteractionWithReEngageCookieBannerDialogInMS by longPreference(
+ appContext.getPreferenceKey(
+ R.string.pref_key_cookie_banner_re_engage_dialog_last_interaction_with_dialog_in_ms,
+ ),
+ default = 0L,
+ )
+
var cookieBannerDetectedPreviously by booleanPreference(
appContext.getPreferenceKey(R.string.pref_key_cookie_banner_first_banner_detected),
default = false,
@@ -576,7 +583,8 @@ class Settings(private val appContext: Context) : PreferencesHolder {
val shouldShowDialog =
shouldShowCookieBannerUI && !userOptOutOfReEngageCookieBannerDialog && !shouldUseCookieBanner
return if (!shouldShowTotalCookieProtectionCFR && shouldShowDialog) {
- !cookieBannerDetectedPreviously || timeNowInMillis() - lastBrowseActivity >= timerForCookieBannerDialog
+ !cookieBannerDetectedPreviously ||
+ timeNowInMillis() - lastInteractionWithReEngageCookieBannerDialogInMS >= timerForCookieBannerDialog
} else {
false
}
diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml
index d59936fdc0..ac72ffbbb7 100644
--- a/app/src/main/res/values/preference_keys.xml
+++ b/app/src/main/res/values/preference_keys.xml
@@ -151,6 +151,7 @@
pref_key_cookie_banner_settings
+ pref_key_cookie_banner_re_engage_dialog_last_interaction_with_dialog_in_ms
pref_key_cookie_banner_re_engage_dialog_dismissed
pref_key_cookie_banner_first_banner_detected
pref_key_cookie_banner_v1