For #8699: Add setAllInteractiveViewsClickable for add-on pending removal (#8776)

fennec/beta
Simon Chae 4 years ago committed by GitHub
parent 314bee2abd
commit f99bad949e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -32,6 +32,7 @@ import org.mozilla.fenix.ext.showToolbar
/** /**
* An activity to show the details of a installed add-on. * An activity to show the details of a installed add-on.
*/ */
@Suppress("LargeClass", "TooManyFunctions")
class InstalledAddonDetailsFragment : Fragment() { class InstalledAddonDetailsFragment : Fragment() {
private lateinit var addon: Addon private lateinit var addon: Addon
private var scope: CoroutineScope? = null private var scope: CoroutineScope? = null
@ -199,12 +200,12 @@ class InstalledAddonDetailsFragment : Fragment() {
private fun bindRemoveButton(view: View) { private fun bindRemoveButton(view: View) {
view.remove_add_on.setOnClickListener { view.remove_add_on.setOnClickListener {
enable_switch.isClickable = false setAllInteractiveViewsClickable(view, false)
requireContext().components.addonManager.uninstallAddon( requireContext().components.addonManager.uninstallAddon(
addon, addon,
onSuccess = { onSuccess = {
runIfFragmentIsAttached { runIfFragmentIsAttached {
enable_switch.isClickable = true setAllInteractiveViewsClickable(view, true)
showSnackBar( showSnackBar(
view, view,
getString( getString(
@ -217,7 +218,7 @@ class InstalledAddonDetailsFragment : Fragment() {
}, },
onError = { _, _ -> onError = { _, _ ->
runIfFragmentIsAttached { runIfFragmentIsAttached {
enable_switch.isClickable = true setAllInteractiveViewsClickable(view, true)
showSnackBar( showSnackBar(
view, view,
getString( getString(
@ -231,6 +232,13 @@ class InstalledAddonDetailsFragment : Fragment() {
} }
} }
private fun setAllInteractiveViewsClickable(view: View, clickable: Boolean) {
view.enable_switch.isClickable = clickable
view.details.isClickable = clickable
view.permissions.isClickable = clickable
view.remove_add_on.isClickable = clickable
}
private fun Switch.setState(checked: Boolean) { private fun Switch.setState(checked: Boolean) {
val text = if (checked) { val text = if (checked) {
R.string.mozac_feature_addons_settings_on R.string.mozac_feature_addons_settings_on

Loading…
Cancel
Save