For #10195, #10196: Allow private browsing mode switch to sync with enable state

fennec/production
Simon Chae 4 years ago committed by Arturo Mejia
parent 5c7e9b98cd
commit 3dcd52ef7a

@ -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
}
}

Loading…
Cancel
Save