Apps that are in shipped.json follow some more requirements such as having a valid code integrity check. This is not something that we require when they come from the appstore as there we verify the download integrity via the signature.
Also the updater treats apps that are shipped differently. We should however handle the apps like any other app from the appstore.
Fixes https://github.com/nextcloud/server/issues/4605
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Otherwise on the update from beta1 to beta2 the app would be disabled again as incompatible:
```
root@cloud:/var/www/html# sudo -u www-data php occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Disabled 3rd-party app: calendar
Disabled 3rd-party app: contacts
Disabled 3rd-party app: nextcloud_announcements
Disabled 3rd-party app: spreed
Update 3rd-party app: calendar
Update 3rd-party app: contacts
```
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Moves the update notification code in a single app. This is required since we want to use SSO for the new updater and for this have some code running in ownCloud as well (and we don't want that in core neccessarily). This app can provide that in the future, right now it's only the update notification itself. Will continue working on the SSO right away but wanted to keep the PR small.
Furthermore also makes some more code unit-testable...