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