|
|
|
@ -162,9 +162,10 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
this.addon = it
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
privateBrowsingSwitch.isVisible = it.isEnabled()
|
|
|
|
|
privateBrowsingSwitch.isChecked = it.isAllowedInPrivateBrowsing()
|
|
|
|
|
switch.setText(R.string.mozac_feature_addons_enabled)
|
|
|
|
|
privateBrowsingSwitch.isVisible = it.isEnabled()
|
|
|
|
|
privateBrowsingSwitch.isChecked =
|
|
|
|
|
it.incognito != Addon.Incognito.NOT_ALLOWED && it.isAllowedInPrivateBrowsing()
|
|
|
|
|
binding.settings.isVisible = shouldSettingsBeVisible()
|
|
|
|
|
enableButtons()
|
|
|
|
|
context?.let {
|
|
|
|
@ -203,8 +204,8 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
this.addon = it
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
privateBrowsingSwitch.isVisible = it.isEnabled()
|
|
|
|
|
switch.setText(R.string.mozac_feature_addons_disabled)
|
|
|
|
|
privateBrowsingSwitch.isVisible = it.isEnabled()
|
|
|
|
|
enableButtons()
|
|
|
|
|
context?.let {
|
|
|
|
|
showSnackBar(
|
|
|
|
@ -220,9 +221,8 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|
|
|
|
onError = {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
privateBrowsingSwitch.isClickable = true
|
|
|
|
|
enableButtons()
|
|
|
|
|
switch.setState(addon.isEnabled())
|
|
|
|
|
enableButtons()
|
|
|
|
|
context?.let {
|
|
|
|
|
showSnackBar(
|
|
|
|
|
binding.root,
|
|
|
|
@ -261,6 +261,45 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@VisibleForTesting
|
|
|
|
|
internal fun bindAllowInPrivateBrowsingSwitch() {
|
|
|
|
|
val switch = providePrivateBrowsingSwitch()
|
|
|
|
|
switch.isVisible = addon.isEnabled()
|
|
|
|
|
|
|
|
|
|
if (addon.incognito == Addon.Incognito.NOT_ALLOWED) {
|
|
|
|
|
switch.isChecked = false
|
|
|
|
|
switch.isEnabled = false
|
|
|
|
|
switch.text = requireContext().getString(R.string.mozac_feature_addons_not_allowed_in_private_browsing)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch.isChecked = addon.isAllowedInPrivateBrowsing()
|
|
|
|
|
|
|
|
|
|
switch.setOnCheckedChangeListener { v, isChecked ->
|
|
|
|
|
val addonManager = v.context.components.addonManager
|
|
|
|
|
switch.isClickable = false
|
|
|
|
|
disableButtons()
|
|
|
|
|
addonManager.setAddonAllowedInPrivateBrowsing(
|
|
|
|
|
addon,
|
|
|
|
|
isChecked,
|
|
|
|
|
onSuccess = {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
this.addon = it
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
enableButtons()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onError = {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
switch.isChecked = addon.isAllowedInPrivateBrowsing()
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
enableButtons()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun bindReportButton() {
|
|
|
|
|
binding.reportAddOn.setOnClickListener {
|
|
|
|
|
val shouldCreatePrivateSession = (activity as HomeActivity).browsingModeManager.mode.isPrivate
|
|
|
|
@ -325,35 +364,6 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun bindAllowInPrivateBrowsingSwitch() {
|
|
|
|
|
val switch = binding.allowInPrivateBrowsingSwitch
|
|
|
|
|
switch.isChecked = addon.isAllowedInPrivateBrowsing()
|
|
|
|
|
switch.isVisible = addon.isEnabled()
|
|
|
|
|
switch.setOnCheckedChangeListener { v, isChecked ->
|
|
|
|
|
val addonManager = v.context.components.addonManager
|
|
|
|
|
switch.isClickable = false
|
|
|
|
|
disableButtons()
|
|
|
|
|
addonManager.setAddonAllowedInPrivateBrowsing(
|
|
|
|
|
addon,
|
|
|
|
|
isChecked,
|
|
|
|
|
onSuccess = {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
this.addon = it
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
enableButtons()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onError = {
|
|
|
|
|
runIfFragmentIsAttached {
|
|
|
|
|
switch.isChecked = addon.isAllowedInPrivateBrowsing()
|
|
|
|
|
switch.isClickable = true
|
|
|
|
|
enableButtons()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun bindRemoveButton() {
|
|
|
|
|
binding.removeAddOn.setOnClickListener {
|
|
|
|
|
setAllInteractiveViewsClickable(binding, false)
|
|
|
|
|