For issue #8221: Fix crash in the AddonsManagementFragment when binding
the RecyclerView after the fragment is not attached anymoremaster
parent
e94f5d3dba
commit
2daf7c3142
|
@ -76,26 +76,26 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management),
|
||||||
lifecycleScope.launch(IO) {
|
lifecycleScope.launch(IO) {
|
||||||
try {
|
try {
|
||||||
val addons = requireContext().components.addonManager.getAddons()
|
val addons = requireContext().components.addonManager.getAddons()
|
||||||
|
|
||||||
lifecycleScope.launch(Dispatchers.Main) {
|
lifecycleScope.launch(Dispatchers.Main) {
|
||||||
val adapter = AddonsManagerAdapter(
|
runIfFragmentIsAttached {
|
||||||
requireContext().components.addonCollectionProvider,
|
val adapter = AddonsManagerAdapter(
|
||||||
this@AddonsManagementFragment,
|
requireContext().components.addonCollectionProvider,
|
||||||
addons
|
this@AddonsManagementFragment,
|
||||||
)
|
addons
|
||||||
view.add_ons_progress_bar.isVisible = false
|
)
|
||||||
view.add_ons_empty_message.isVisible = false
|
view.add_ons_progress_bar.isVisible = false
|
||||||
|
view.add_ons_empty_message.isVisible = false
|
||||||
|
|
||||||
recyclerView.adapter = adapter
|
recyclerView.adapter = adapter
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (e: AddonManagerException) {
|
} catch (e: AddonManagerException) {
|
||||||
lifecycleScope.launch(Dispatchers.Main) {
|
lifecycleScope.launch(Dispatchers.Main) {
|
||||||
showSnackBar(
|
runIfFragmentIsAttached {
|
||||||
view,
|
showSnackBar(view, getString(R.string.mozac_feature_addons_failed_to_query_add_ons))
|
||||||
getString(R.string.mozac_feature_addons_failed_to_query_add_ons)
|
view.add_ons_progress_bar.isVisible = false
|
||||||
)
|
view.add_ons_empty_message.isVisible = true
|
||||||
view.add_ons_progress_bar.isVisible = false
|
}
|
||||||
view.add_ons_empty_message.isVisible = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -165,13 +165,7 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management),
|
||||||
},
|
},
|
||||||
onError = { _, _ ->
|
onError = { _, _ ->
|
||||||
this@AddonsManagementFragment.view?.let { view ->
|
this@AddonsManagementFragment.view?.let { view ->
|
||||||
showSnackBar(
|
showSnackBar(view, getString(R.string.mozac_feature_addons_failed_to_install, addon.translatedName))
|
||||||
view,
|
|
||||||
getString(
|
|
||||||
R.string.mozac_feature_addons_failed_to_install,
|
|
||||||
addon.translatedName
|
|
||||||
)
|
|
||||||
)
|
|
||||||
addonProgressOverlay?.visibility = View.GONE
|
addonProgressOverlay?.visibility = View.GONE
|
||||||
isInstallationInProgress = false
|
isInstallationInProgress = false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue