Determine add-on status based on tab of add-on store (#15860)
Fixes #15029
Fixes #15568
Summary of the issue:
Disabled add-ons were not listed in the updatable add-ons tab.
Add-ons with overridden compatibility were also not listed in the updatable add-ons tab.
Disabled incompatible add-ons should trigger the dialog to override when attempting to update.
Add-on statuses were the same for each tab of the add-on store, this limited determining actions for the add-on.
Description of user facing changes
Add-on status is now contextual. to the add-on store tab Updatable/downloadable information is only shown on the updatable and available add-ons tab. Installed add-ons tabs now only show statuses relevant to installed add-ons. This means "update available" and "downloaded, pending install" will not be listed in the installed add-ons tab.
Disabled and incompatible add-ons can now be updated.
Description of development approach
Created a new status and action for incompatible add-ons with an incompatible update available.
Ensure available and updatable statuses are checked before statuses for installed add-ons.
Ensure available and updatable statuses are only checked for their relevant tabs.
This means disabled and incompatible add-ons return updatable status before checking their disabled/compatibility state.