diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index ceeebb304..7d992004f 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -58,4 +58,9 @@ object FeatureFlags { * Enables the new language picker */ val fenixLanguagePicker = Config.channel.isNightlyOrDebug + + /** + * Enables deleting individual tracking protection exceptions. + */ + val deleteIndividualTrackingProtectionExceptions = Config.channel.isNightlyOrDebug } diff --git a/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt b/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt index 3ee12b5c9..d3281a2f8 100644 --- a/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt @@ -16,6 +16,7 @@ import mozilla.components.concept.engine.content.blocking.TrackingProtectionExce import mozilla.components.feature.session.TrackingProtectionUseCases import mozilla.components.lib.state.ext.consumeFrom import org.mozilla.fenix.BrowserDirection +import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.components.StoreProvider @@ -76,8 +77,10 @@ class ExceptionsFragment : Fragment() { } private fun deleteOneItem(item: TrackingProtectionException) { - // We can't currently delete one item in this Exceptions list with a URL with the GV API - // See https://github.com/mozilla-mobile/android-components/issues/4699 + // This feature hasn't been uplifted yet. + if (FeatureFlags.deleteIndividualTrackingProtectionExceptions) { + trackingProtectionUseCases.removeAllExceptions() + } Log.e("Remove one exception", "$item") reloadExceptions() } diff --git a/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsListItemViewHolder.kt b/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsListItemViewHolder.kt index f4f241a8c..f5875792f 100644 --- a/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsListItemViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsListItemViewHolder.kt @@ -5,9 +5,11 @@ package org.mozilla.fenix.exceptions.viewholders import android.view.View +import androidx.core.view.isVisible import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.exception_item.view.* import mozilla.components.concept.engine.content.blocking.TrackingProtectionException +import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.R import org.mozilla.fenix.exceptions.ExceptionsInteractor import org.mozilla.fenix.ext.components @@ -38,6 +40,7 @@ class ExceptionsListItemViewHolder( fun bind(item: TrackingProtectionException) { this.item = item url.text = item.url + deleteButton.isVisible = FeatureFlags.deleteIndividualTrackingProtectionExceptions updateFavIcon(item.url) }