diff --git a/app/src/main/java/com/duckduckgo/app/brokensite/view/SiteProtectionsToggle.kt b/app/src/main/java/com/duckduckgo/app/brokensite/view/SiteProtectionsToggle.kt index 17d96b6d18e0..f264ea37b135 100644 --- a/app/src/main/java/com/duckduckgo/app/brokensite/view/SiteProtectionsToggle.kt +++ b/app/src/main/java/com/duckduckgo/app/brokensite/view/SiteProtectionsToggle.kt @@ -43,7 +43,9 @@ class SiteProtectionsToggle @JvmOverloads constructor( fun setOnProtectionsToggledListener(listener: (Boolean) -> Unit) { binding.protectionsSwitch.setOnCheckedChangeListener { _, isChecked -> - listener.invoke(isChecked) + if (isChecked != areProtectionsEnabled()) { + listener.invoke(isChecked) + } } } @@ -80,4 +82,11 @@ class SiteProtectionsToggle @JvmOverloads constructor( } } } + + private fun areProtectionsEnabled(): Boolean = when (state) { + SiteProtectionsState.ENABLED -> true + SiteProtectionsState.DISABLED, + SiteProtectionsState.DISABLED_BY_REMOTE_CONFIG, + -> false + } }