@@ -268,7 +268,9 @@ private function doUpgrade($currentVersion, $installedVersion) {
268268 // upgrade appstore apps
269269 $ this ->upgradeAppStoreApps ($ appManager ->getInstalledApps ());
270270 $ autoDisabledApps = $ appManager ->getAutoDisabledApps ();
271- $ this ->upgradeAppStoreApps ($ autoDisabledApps , true );
271+ if (!empty ($ autoDisabledApps )) {
272+ $ this ->upgradeAppStoreApps (array_keys ($ autoDisabledApps ), $ autoDisabledApps );
273+ }
272274
273275 // install new shipped apps on upgrade
274276 $ errors = Installer::installShippedApps (true );
@@ -448,12 +450,12 @@ private function isCodeUpgrade() {
448450 }
449451
450452 /**
451- * @param array $disabledApps
452- * @param bool $reenable
453+ * @param array $apps
454+ * @param array $previousEnableStates
453455 * @throws \Exception
454456 */
455- private function upgradeAppStoreApps (array $ disabledApps , $ reenable = false ) {
456- foreach ($ disabledApps as $ app => $ previousEnableSetting ) {
457+ private function upgradeAppStoreApps (array $ apps , array $ previousEnableStates = [] ) {
458+ foreach ($ apps as $ app ) {
457459 try {
458460 $ this ->emit ('\OC\Updater ' , 'checkAppStoreAppBefore ' , [$ app ]);
459461 if ($ this ->installer ->isUpdateAvailable ($ app )) {
@@ -462,10 +464,10 @@ private function upgradeAppStoreApps(array $disabledApps, $reenable = false) {
462464 }
463465 $ this ->emit ('\OC\Updater ' , 'checkAppStoreApp ' , [$ app ]);
464466
465- if ($ reenable ) {
467+ if (! empty ( $ previousEnableStates ) ) {
466468 $ ocApp = new \OC_App ();
467- if (!empty ($ previousEnableSetting )) {
468- $ ocApp ->enable ($ app , $ previousEnableSetting );
469+ if (!empty ($ previousEnableStates [ $ app ] )) {
470+ $ ocApp ->enable ($ app , $ previousEnableStates [ $ app ] );
469471 } else {
470472 $ ocApp ->enable ($ app );
471473 }
0 commit comments