1
0
Fork 0

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

master
Arturo Mejia 2020-04-14 16:55:54 -04:00
parent 9a298ea6ba
commit 37a277febb
1 changed files with 4 additions and 3 deletions

View File

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