From 37a277febbf476e968d94dcfbd6cd09bf4087253 Mon Sep 17 00:00:00 2001 From: Arturo Mejia Date: Tue, 14 Apr 2020 16:55:54 -0400 Subject: [PATCH] For issue #9930 Do not assume all add-ons have a settings page --- .../mozilla/fenix/addons/InstalledAddonDetailsFragment.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt b/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt index ca0ee03aa..8420d1cc9 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt @@ -99,7 +99,7 @@ class InstalledAddonDetailsFragment : Fragment() { runIfFragmentIsAttached { switch.isClickable = true switch.setText(R.string.mozac_feature_addons_enabled) - view.settings.isVisible = true + view.settings.isVisible = shouldSettingsBeVisible() view.remove_add_on.isEnabled = true this.addon = it showSnackBar( @@ -164,8 +164,7 @@ class InstalledAddonDetailsFragment : Fragment() { private fun bindSettings(view: View) { view.settings.apply { - val optionsPageUrl = addon.installedState?.optionsPageUrl - isVisible = !optionsPageUrl.isNullOrEmpty() + isVisible = shouldSettingsBeVisible() setOnClickListener { val settingUrl = addon.installedState?.optionsPageUrl ?: return@setOnClickListener val directions = if (addon.installedState?.openOptionsPageInTab == true) { @@ -263,4 +262,6 @@ class InstalledAddonDetailsFragment : Fragment() { setText(text) isChecked = checked } + + private fun shouldSettingsBeVisible() = !addon.installedState?.optionsPageUrl.isNullOrEmpty() }