parent
314bee2abd
commit
f99bad949e
|
@ -32,6 +32,7 @@ import org.mozilla.fenix.ext.showToolbar
|
|||
/**
|
||||
* An activity to show the details of a installed add-on.
|
||||
*/
|
||||
@Suppress("LargeClass", "TooManyFunctions")
|
||||
class InstalledAddonDetailsFragment : Fragment() {
|
||||
private lateinit var addon: Addon
|
||||
private var scope: CoroutineScope? = null
|
||||
|
@ -199,12 +200,12 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|||
|
||||
private fun bindRemoveButton(view: View) {
|
||||
view.remove_add_on.setOnClickListener {
|
||||
enable_switch.isClickable = false
|
||||
setAllInteractiveViewsClickable(view, false)
|
||||
requireContext().components.addonManager.uninstallAddon(
|
||||
addon,
|
||||
onSuccess = {
|
||||
runIfFragmentIsAttached {
|
||||
enable_switch.isClickable = true
|
||||
setAllInteractiveViewsClickable(view, true)
|
||||
showSnackBar(
|
||||
view,
|
||||
getString(
|
||||
|
@ -217,7 +218,7 @@ class InstalledAddonDetailsFragment : Fragment() {
|
|||
},
|
||||
onError = { _, _ ->
|
||||
runIfFragmentIsAttached {
|
||||
enable_switch.isClickable = true
|
||||
setAllInteractiveViewsClickable(view, true)
|
||||
showSnackBar(
|
||||
view,
|
||||
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) {
|
||||
val text = if (checked) {
|
||||
R.string.mozac_feature_addons_settings_on
|
||||
|
|
Loading…
Reference in New Issue