For issue #9930 Do not assume all add-ons have a settings page
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…
Reference in New Issue