For issue #9930 Do not assume all add-ons have a settings page

fennec/production
Arturo Mejia 4 years ago
parent 9a298ea6ba
commit 37a277febb

@ -99,7 +99,7 @@ class InstalledAddonDetailsFragment : Fragment() {
runIfFragmentIsAttached { runIfFragmentIsAttached {
switch.isClickable = true switch.isClickable = true
switch.setText(R.string.mozac_feature_addons_enabled) switch.setText(R.string.mozac_feature_addons_enabled)
view.settings.isVisible = true view.settings.isVisible = shouldSettingsBeVisible()
view.remove_add_on.isEnabled = true view.remove_add_on.isEnabled = true
this.addon = it this.addon = it
showSnackBar( showSnackBar(
@ -164,8 +164,7 @@ class InstalledAddonDetailsFragment : Fragment() {
private fun bindSettings(view: View) { private fun bindSettings(view: View) {
view.settings.apply { view.settings.apply {
val optionsPageUrl = addon.installedState?.optionsPageUrl isVisible = shouldSettingsBeVisible()
isVisible = !optionsPageUrl.isNullOrEmpty()
setOnClickListener { setOnClickListener {
val settingUrl = addon.installedState?.optionsPageUrl ?: return@setOnClickListener val settingUrl = addon.installedState?.optionsPageUrl ?: return@setOnClickListener
val directions = if (addon.installedState?.openOptionsPageInTab == true) { val directions = if (addon.installedState?.openOptionsPageInTab == true) {
@ -263,4 +262,6 @@ class InstalledAddonDetailsFragment : Fragment() {
setText(text) setText(text)
isChecked = checked isChecked = checked
} }
private fun shouldSettingsBeVisible() = !addon.installedState?.optionsPageUrl.isNullOrEmpty()
} }

Loading…
Cancel
Save