Skip to content

Commit

Permalink
For mozilla-mobile#10162: Set switch back to prev state when failed t…
Browse files Browse the repository at this point in the history
…o enable/disable addon
  • Loading branch information
psymoon committed Apr 23, 2020
1 parent e51e1c8 commit 35be8cc
Showing 1 changed file with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ class InstalledAddonDetailsFragment : Fragment() {
@SuppressWarnings("LongMethod")
private fun bindEnableSwitch(view: View) {
val switch = view.enable_switch
switch.setState(addon.isEnabled())
val currState = addon.isEnabled()
switch.setState(currState)
switch.setOnCheckedChangeListener { v, isChecked ->
val addonManager = v.context.components.addonManager
switch.isClickable = false
Expand Down Expand Up @@ -116,6 +117,7 @@ class InstalledAddonDetailsFragment : Fragment() {
runIfFragmentIsAttached {
switch.isClickable = true
view.remove_add_on.isEnabled = true
switch.setState(currState)
showSnackBar(
view,
getString(
Expand Down Expand Up @@ -149,6 +151,7 @@ class InstalledAddonDetailsFragment : Fragment() {
runIfFragmentIsAttached {
switch.isClickable = true
view.remove_add_on.isEnabled = true
switch.setState(currState)
showSnackBar(
view,
getString(
Expand Down Expand Up @@ -214,7 +217,8 @@ class InstalledAddonDetailsFragment : Fragment() {

private fun bindAllowInPrivateBrowsingSwitch(view: View) {
val switch = view.allow_in_private_browsing_switch
switch.isChecked = addon.isAllowedInPrivateBrowsing()
val currState = addon.isAllowedInPrivateBrowsing()
switch.isChecked = currState
switch.setOnCheckedChangeListener { v, isChecked ->
val addonManager = v.context.components.addonManager
switch.isClickable = false
Expand All @@ -230,6 +234,7 @@ class InstalledAddonDetailsFragment : Fragment() {
}
},
onError = {
switch.isChecked = currState
runIfFragmentIsAttached {
switch.isClickable = true
view.remove_add_on.isEnabled = true
Expand Down

0 comments on commit 35be8cc

Please sign in to comment.