1
0
Fork 0

For issue #8221: Fix crash in the AddonsManagementFragment when binding

the RecyclerView after the fragment is not attached anymore
master
Arturo Mejia 2020-02-07 13:24:51 -05:00 committed by Christian Sadilek
parent e94f5d3dba
commit 2daf7c3142
1 changed files with 16 additions and 22 deletions

View File

@ -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
} }