diff --git a/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt b/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt index 5793aaca81..458b35a173 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt @@ -88,10 +88,12 @@ class InstalledAddonDetailsFragment : Fragment() { @SuppressWarnings("LongMethod") private fun bindEnableSwitch(view: View) { val switch = view.enable_switch + val privateBrowsingSwitch = view.allow_in_private_browsing_switch switch.setState(addon.isEnabled()) switch.setOnCheckedChangeListener { v, isChecked -> val addonManager = v.context.components.addonManager switch.isClickable = false + privateBrowsingSwitch.isClickable = false view.remove_add_on.isEnabled = false if (isChecked) { addonManager.enableAddon( @@ -100,6 +102,9 @@ class InstalledAddonDetailsFragment : Fragment() { runIfFragmentIsAttached { this.addon = it switch.isClickable = true + privateBrowsingSwitch.isChecked = it.isAllowedInPrivateBrowsing() + privateBrowsingSwitch.isClickable = it.isAllowedInPrivateBrowsing() + privateBrowsingSwitch.isVisible = it.isEnabled() switch.setText(R.string.mozac_feature_addons_enabled) view.settings.isVisible = shouldSettingsBeVisible() view.remove_add_on.isEnabled = true @@ -115,6 +120,7 @@ class InstalledAddonDetailsFragment : Fragment() { onError = { runIfFragmentIsAttached { switch.isClickable = true + privateBrowsingSwitch.isClickable = true view.remove_add_on.isEnabled = true switch.setState(addon.isEnabled()) showSnackBar( @@ -133,10 +139,12 @@ class InstalledAddonDetailsFragment : Fragment() { addon, onSuccess = { runIfFragmentIsAttached { + this.addon = it switch.isClickable = true + privateBrowsingSwitch.isClickable = true + privateBrowsingSwitch.isVisible = it.isEnabled() switch.setText(R.string.mozac_feature_addons_disabled) view.remove_add_on.isEnabled = true - this.addon = it showSnackBar( view, getString( @@ -149,6 +157,7 @@ class InstalledAddonDetailsFragment : Fragment() { onError = { runIfFragmentIsAttached { switch.isClickable = true + privateBrowsingSwitch.isClickable = true view.remove_add_on.isEnabled = true switch.setState(addon.isEnabled()) showSnackBar( @@ -216,10 +225,13 @@ class InstalledAddonDetailsFragment : Fragment() { private fun bindAllowInPrivateBrowsingSwitch(view: View) { val switch = view.allow_in_private_browsing_switch + val enableSwitch = view.enable_switch switch.isChecked = addon.isAllowedInPrivateBrowsing() + switch.isVisible = addon.isEnabled() switch.setOnCheckedChangeListener { v, isChecked -> val addonManager = v.context.components.addonManager switch.isClickable = false + enableSwitch.isClickable = false view.remove_add_on.isEnabled = false addonManager.setAddonAllowedInPrivateBrowsing( addon, @@ -228,13 +240,15 @@ class InstalledAddonDetailsFragment : Fragment() { runIfFragmentIsAttached { this.addon = it switch.isClickable = true + enableSwitch.isClickable = true view.remove_add_on.isEnabled = true } }, onError = { - switch.isChecked = addon.isAllowedInPrivateBrowsing() runIfFragmentIsAttached { + switch.isChecked = addon.isAllowedInPrivateBrowsing() switch.isClickable = true + enableSwitch.isClickable = true view.remove_add_on.isEnabled = true } }