Skip to content

Commit

Permalink
For mozilla-mobile#10195, mozilla-mobile#10196: Allow private browsin…
Browse files Browse the repository at this point in the history
…g mode switch to sync with enable state
  • Loading branch information
psymoon committed Apr 28, 2020
1 parent 2c18c25 commit 1c6f2ae
Showing 1 changed file with 13 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -100,6 +102,8 @@ class InstalledAddonDetailsFragment : Fragment() {
runIfFragmentIsAttached {
this.addon = it
switch.isClickable = true
privateBrowsingSwitch.isClickable = true
privateBrowsingSwitch.visibility = View.VISIBLE
switch.setText(R.string.mozac_feature_addons_enabled)
view.settings.isVisible = shouldSettingsBeVisible()
view.remove_add_on.isEnabled = true
Expand All @@ -115,6 +119,7 @@ class InstalledAddonDetailsFragment : Fragment() {
onError = {
runIfFragmentIsAttached {
switch.isClickable = true
privateBrowsingSwitch.isClickable = true
view.remove_add_on.isEnabled = true
switch.setState(addon.isEnabled())
showSnackBar(
Expand All @@ -134,6 +139,8 @@ class InstalledAddonDetailsFragment : Fragment() {
onSuccess = {
runIfFragmentIsAttached {
switch.isClickable = true
privateBrowsingSwitch.isClickable = true
privateBrowsingSwitch.visibility = View.GONE
switch.setText(R.string.mozac_feature_addons_disabled)
view.remove_add_on.isEnabled = true
this.addon = it
Expand All @@ -149,6 +156,7 @@ class InstalledAddonDetailsFragment : Fragment() {
onError = {
runIfFragmentIsAttached {
switch.isClickable = true
privateBrowsingSwitch.isClickable = true
view.remove_add_on.isEnabled = true
switch.setState(addon.isEnabled())
showSnackBar(
Expand Down Expand Up @@ -216,10 +224,13 @@ class InstalledAddonDetailsFragment : Fragment() {

private fun bindAllowInPrivateBrowsingSwitch(view: View) {
val switch = view.allow_in_private_browsing_switch
val enableSwitch = view.enable_switch
switch.isVisible = addon.isEnabled()
switch.isChecked = addon.isAllowedInPrivateBrowsing()
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,
Expand All @@ -228,13 +239,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.isClickable = true
enableSwitch.isClickable = true
view.remove_add_on.isEnabled = true
}
}
Expand Down

0 comments on commit 1c6f2ae

Please sign in to comment.