From b83ae45c3618c91088d567c4efe0979c81faa7f7 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Thu, 12 Sep 2019 10:03:56 -0700 Subject: [PATCH] For #5263 - Hide ETP Panel Settings for custom tab --- .../TrackingProtectionPanelDialogFragment.kt | 1 + .../trackingprotection/TrackingProtectionPanelView.kt | 2 ++ .../fenix/trackingprotection/TrackingProtectionStore.kt | 2 ++ .../trackingprotection/TrackingProtectionStoreTest.kt | 7 +++++++ 4 files changed, 12 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt index 0781a9e49..0576ae426 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt @@ -88,6 +88,7 @@ class TrackingProtectionPanelDialogFragment : AppCompatDialogFragment(), BackHan trackingProtectionStore = StoreProvider.get(this) { TrackingProtectionStore( TrackingProtectionState( + session, url, trackingProtectionEnabled, session?.trackersBlocked ?: listOf(), diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelView.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelView.kt index 0b85b38f5..d0c834151 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelView.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelView.kt @@ -110,6 +110,8 @@ class TrackingProtectionPanelView( private fun setUIForNormalMode(state: TrackingProtectionState) { details_mode.visibility = View.GONE normal_mode.visibility = View.VISIBLE + protection_settings.visibility = + if (state.session?.customTabConfig != null) View.GONE else View.VISIBLE not_blocking_header.visibility = if (bucketedLoadedTrackers.size == 0) View.GONE else View.VISIBLE diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStore.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStore.kt index 2fab0a34e..3dd1e199c 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStore.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStore.kt @@ -4,6 +4,7 @@ package org.mozilla.fenix.trackingprotection +import mozilla.components.browser.session.Session import mozilla.components.concept.engine.content.blocking.Tracker import mozilla.components.lib.state.Action import mozilla.components.lib.state.State @@ -56,6 +57,7 @@ sealed class TrackingProtectionAction : Action { * @property mode Current Mode of TrackingProtection */ data class TrackingProtectionState( + val session: Session?, val url: String, val isTrackingProtectionEnabled: Boolean, val listTrackers: List, diff --git a/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStoreTest.kt b/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStoreTest.kt index 33c4b01c3..405230031 100644 --- a/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStoreTest.kt +++ b/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackingProtectionStoreTest.kt @@ -4,13 +4,18 @@ package org.mozilla.fenix.trackingprotection +import io.mockk.mockk import org.junit.Assert.assertEquals import org.junit.Assert.assertNotSame import kotlinx.coroutines.runBlocking +import mozilla.components.browser.session.Session import mozilla.components.concept.engine.content.blocking.Tracker import org.junit.Test class TrackingProtectionStoreTest { + + val session: Session = mockk(relaxed = true) + @Test fun enterDetailsMode() = runBlocking { val initialState = defaultState() @@ -143,6 +148,7 @@ class TrackingProtectionStoreTest { } private fun defaultState(): TrackingProtectionState = TrackingProtectionState( + session = session, url = "www.mozilla.org", isTrackingProtectionEnabled = true, listTrackers = listOf(), @@ -151,6 +157,7 @@ class TrackingProtectionStoreTest { ) private fun detailsState(): TrackingProtectionState = TrackingProtectionState( + session = session, url = "www.mozilla.org", isTrackingProtectionEnabled = true, listTrackers = listOf(),