From 9ef4d9bdae998759f8c95844b912f2a9247552a0 Mon Sep 17 00:00:00 2001 From: ekager Date: Fri, 29 May 2020 17:49:44 -0400 Subject: [PATCH] For #10968 - Don't show ETP CFR if toolbar doesn't have window focus --- .../trackingprotection/TrackingProtectionOverlay.kt | 1 + .../TrackingProtectionOverlayTest.kt | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt index 19beca7b1..8060c668f 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt @@ -44,6 +44,7 @@ class TrackingProtectionOverlay( @Suppress("MagicNumber", "InflateParams") private fun showTrackingProtectionOnboarding() { + if (!getToolbar().hasWindowFocus()) return val trackingOnboardingDialog = Dialog(context) val layout = LayoutInflater.from(context) .inflate(R.layout.tracking_protection_onboarding_popup, null) diff --git a/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlayTest.kt b/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlayTest.kt index 3ac2413ce..e4a9dca79 100644 --- a/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlayTest.kt +++ b/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlayTest.kt @@ -80,6 +80,7 @@ class TrackingProtectionOverlayTest { @Test fun `show onboarding when trackers are blocked`() { + every { toolbar.hasWindowFocus() } returns true every { settings.shouldShowTrackingProtectionOnboarding } returns true every { session.trackerBlockingEnabled } returns true every { session.trackersBlocked } returns listOf(mockk()) @@ -87,4 +88,15 @@ class TrackingProtectionOverlayTest { overlay.onLoadingStateChanged(session, loading = false) verify { settings.incrementTrackingProtectionOnboardingCount() } } + + @Test + fun `no-op when toolbar doesn't have focus`() { + every { toolbar.hasWindowFocus() } returns false + every { settings.shouldShowTrackingProtectionOnboarding } returns true + every { session.trackerBlockingEnabled } returns true + every { session.trackersBlocked } returns listOf(mockk()) + + overlay.onLoadingStateChanged(session, loading = false) + verify(exactly = 0) { settings.incrementTrackingProtectionOnboardingCount() } + } }